Interface IStatus
- All Known Subinterfaces:
IJobStatus
,IMergeStatus
,IResourceStatus
,ITeamStatus
- All Known Implementing Classes:
MergeStatus
,ModelStatus
,MultiStatus
,OperationStatus
,Status
,TeamStatus
,ValidationStatus
CoreException
s carry a status object to indicate what went
wrong. Status objects are also returned by methods needing to provide details
of failures (e.g., validation methods).
A status carries the following information:
- plug-in identifier (required)
- severity (required)
- status code (required)
- message (required) - localized to current locale
- exception (optional) - for problems stemming from a failure at a lower level
Some status objects, known as multi-statuses, have other status objects as children.
The class Status
is the standard public implementation of status
objects; the subclass MultiStatus
is the implements multi-status
objects.
This interface can be used without OSGi running.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Status type severity (bit mask, value 8) indicating this status represents a cancelationstatic final int
Status type severity (bit mask, value 4) indicating this status represents an error.static final int
Status type severity (bit mask, value 1) indicating this status is informational only.static final int
Status severity constant (value 0) indicating this status represents the nominal case.static final int
Status type severity (bit mask, value 2) indicating this status represents a warning. -
Method Summary
Modifier and TypeMethodDescriptionIStatus[]
Returns a list of status object immediately contained in this multi-status, or an empty list if this is not a multi-status.int
getCode()
Returns the plug-in-specific status code describing the outcome.Returns the relevant low-level exception, ornull
if none.Returns the message describing the outcome.Returns the unique identifier of the plug-in associated with this status (this is the plug-in that defines the meaning of the status code).int
Returns the severity.boolean
Returns whether this status is a multi-status.boolean
isOK()
Returns whether this status indicates everything is okay (neither info, warning, nor error).boolean
matches
(int severityMask) Returns whether the severity of this status matches the given severity mask.
-
Field Details
-
OK
static final int OKStatus severity constant (value 0) indicating this status represents the nominal case. This constant is also used as the status code representing the nominal case. -
INFO
static final int INFOStatus type severity (bit mask, value 1) indicating this status is informational only. -
WARNING
static final int WARNINGStatus type severity (bit mask, value 2) indicating this status represents a warning. -
ERROR
static final int ERRORStatus type severity (bit mask, value 4) indicating this status represents an error. -
CANCEL
static final int CANCELStatus type severity (bit mask, value 8) indicating this status represents a cancelation- Since:
- 3.0
- See Also:
-
-
Method Details
-
getChildren
IStatus[] getChildren()Returns a list of status object immediately contained in this multi-status, or an empty list if this is not a multi-status.- Returns:
- an array of status objects
- See Also:
-
getCode
int getCode()Returns the plug-in-specific status code describing the outcome.- Returns:
- plug-in-specific status code
-
getException
Throwable getException()Returns the relevant low-level exception, ornull
if none. For example, when an operation fails because of a network communications failure, this might return thejava.io.IOException
describing the exact nature of that failure.- Returns:
- the relevant low-level exception, or
null
if none
-
getMessage
String getMessage()Returns the message describing the outcome. The message is localized to the current locale.- Returns:
- a localized message
-
getPlugin
String getPlugin()Returns the unique identifier of the plug-in associated with this status (this is the plug-in that defines the meaning of the status code).- Returns:
- the unique identifier of the relevant plug-in
-
getSeverity
int getSeverity()Returns the severity. The severities are as follows (in descending order):CANCEL
- cancelation occurredERROR
- a serious error (most severe)WARNING
- a warning (less severe)INFO
- an informational ("fyi") message (least severe)OK
- everything is just fine
The severity of a multi-status is defined to be the maximum severity of any of its children, or
OK
if it has no children.- Returns:
- the severity: one of
OK
,ERROR
,INFO
,WARNING
, orCANCEL
- See Also:
-
isMultiStatus
boolean isMultiStatus()Returns whether this status is a multi-status. A multi-status describes the outcome of an operation involving multiple operands.The severity of a multi-status is derived from the severities of its children; a multi-status with no children is
OK
by definition. A multi-status carries a plug-in identifier, a status code, a message, and an optional exception. Clients may treat multi-status objects in a multi-status unaware way.- Returns:
true
for a multi-status,false
otherwise- See Also:
-
isOK
boolean isOK()Returns whether this status indicates everything is okay (neither info, warning, nor error).- Returns:
true
if this status has severityOK
, andfalse
otherwise
-
matches
boolean matches(int severityMask) Returns whether the severity of this status matches the given severity mask. Note that a status with severityOK
will never match; useisOK
instead to detect a status with a severity ofOK
.- Parameters:
severityMask
- a mask formed by bitwise or'ing severity mask constants (ERROR
,WARNING
,INFO
,CANCEL
)- Returns:
true
if there is at least one match,false
if there are no matches- See Also:
-