Class Status
- java.lang.Object
-
- org.eclipse.core.runtime.Status
-
- All Implemented Interfaces:
IStatus
- Direct Known Subclasses:
MergeStatus
,ModelStatus
,MultiStatus
,OperationStatus
,TeamStatus
,ValidationStatus
public class Status extends Object implements IStatus
A concrete status implementation, suitable either for instantiating or subclassing.This class can be used without OSGi running.
For performance critical code, such as when
Status
objects are not created for logging or error handling, there may be a small performance penalty when using static methods or constructors that automatically determine the plug-in id from the providedClass
or by usingStackWalker
.
-
-
Constructor Summary
Constructors Constructor Description Status(int severity, Class<?> caller, int code, String message, Throwable exception)
Creates a new status object.Status(int severity, Class<?> caller, String message)
Simplified constructor of a new status object; assumes that code isOK
and exception isnull
.Status(int severity, Class<?> caller, String message, Throwable exception)
Simplified constructor of a new status object; assumes that code isOK
.Status(int severity, String pluginId, int code, String message, Throwable exception)
Creates a new status object.Status(int severity, String pluginId, String message)
Simplified constructor of a new status object; assumes that code isOK
and exception isnull
.Status(int severity, String pluginId, String message, Throwable exception)
Simplified constructor of a new status object; assumes that code isOK
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static IStatus
error(String message)
Construct a new status object with severityIStatus.ERROR
, codeIStatus.OK
, and pluginId determined automatically from the calling class usingStackWalker
.static IStatus
error(String message, Throwable exception)
Construct a new status object with severityIStatus.ERROR
, codeIStatus.OK
, and pluginId determined automatically from the calling class usingStackWalker
.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.int
getCode()
Returns the plug-in-specific status code describing the outcome.Throwable
getException()
Returns the relevant low-level exception, ornull
if none.String
getMessage()
Returns the message describing the outcome.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).int
getSeverity()
Returns the severity.static IStatus
info(String message)
Construct a new status object with severityIStatus.INFO
, codeIStatus.OK
, and pluginId determined automatically from the calling class usingStackWalker
.boolean
isMultiStatus()
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.protected void
setCode(int code)
Sets the status code.protected void
setException(Throwable exception)
Sets the exception.protected void
setMessage(String message)
Sets the message.protected void
setPlugin(String pluginId)
Sets the plug-in id.protected void
setSeverity(int severity)
Sets the severity.String
toString()
Returns a string representation of the status, suitable for debugging purposes only.static IStatus
warning(String message)
Construct a new status object with severityIStatus.WARNING
, codeIStatus.OK
, and pluginId determined automatically from the calling class usingStackWalker
.static Status
warning(String message, Throwable exception)
Construct a new status object with severityIStatus.WARNING
, codeIStatus.OK
, and pluginId determined automatically from the calling class usingStackWalker
.
-
-
-
Constructor Detail
-
Status
public Status(int severity, Class<?> caller, int code, String message, Throwable exception)
Creates a new status object. The created status has no children.- Parameters:
severity
- the severity; one ofOK
,ERROR
,INFO
,WARNING
, orCANCEL
caller
- the relevant class to build unique identifier fromcode
- the caller-specific status code, orOK
message
- a human-readable message, localized to the current localeexception
- a low-level exception, ornull
if not applicable- Since:
- 3.12
-
Status
public Status(int severity, String pluginId, int code, String message, Throwable exception)
Creates a new status object. The created status has no children.- Parameters:
severity
- the severity; one ofOK
,ERROR
,INFO
,WARNING
, orCANCEL
pluginId
- the unique identifier of the relevant plug-incode
- the plug-in-specific status code, orOK
message
- a human-readable message, localized to the current localeexception
- a low-level exception, ornull
if not applicable
-
Status
public Status(int severity, Class<?> caller, String message, Throwable exception)
Simplified constructor of a new status object; assumes that code isOK
. The created status has no children.- Parameters:
severity
- the severity; one ofOK
,ERROR
,INFO
,WARNING
, orCANCEL
caller
- the relevant class to build unique identifier frommessage
- a human-readable message, localized to the current localeexception
- a low-level exception, ornull
if not applicable- Since:
- 3.12
-
Status
public Status(int severity, String pluginId, String message, Throwable exception)
Simplified constructor of a new status object; assumes that code isOK
. The created status has no children.- Parameters:
severity
- the severity; one ofOK
,ERROR
,INFO
,WARNING
, orCANCEL
pluginId
- the unique identifier of the relevant plug-inmessage
- a human-readable message, localized to the current localeexception
- a low-level exception, ornull
if not applicable- Since:
- org.eclipse.equinox.common 3.3
-
Status
public Status(int severity, Class<?> caller, String message)
Simplified constructor of a new status object; assumes that code isOK
and exception isnull
. The created status has no children.- Parameters:
severity
- the severity; one ofOK
,ERROR
,INFO
,WARNING
, orCANCEL
caller
- the relevant class to build unique identifier frommessage
- a human-readable message, localized to the current locale- Since:
- 3.12
-
Status
public Status(int severity, String pluginId, String message)
Simplified constructor of a new status object; assumes that code isOK
and exception isnull
. The created status has no children.- Parameters:
severity
- the severity; one ofOK
,ERROR
,INFO
,WARNING
, orCANCEL
pluginId
- the unique identifier of the relevant plug-inmessage
- a human-readable message, localized to the current locale- Since:
- org.eclipse.equinox.common 3.3
-
-
Method Detail
-
info
public static IStatus info(String message)
Construct a new status object with severityIStatus.INFO
, codeIStatus.OK
, and pluginId determined automatically from the calling class usingStackWalker
. The created status has no children.- Parameters:
message
- a human-readable message, localized to the current locale- Returns:
- the newly created status
- Since:
- 3.15
-
warning
public static IStatus warning(String message)
Construct a new status object with severityIStatus.WARNING
, codeIStatus.OK
, and pluginId determined automatically from the calling class usingStackWalker
. The created status has no children.- Parameters:
message
- a human-readable message, localized to the current locale- Returns:
- the newly created status
- Since:
- 3.15
-
warning
public static Status warning(String message, Throwable exception)
Construct a new status object with severityIStatus.WARNING
, codeIStatus.OK
, and pluginId determined automatically from the calling class usingStackWalker
. The created status has no children.- Parameters:
message
- a human-readable message, localized to the current localeexception
- a low-level exception, ornull
if not applicable- Returns:
- the newly created status
- Since:
- 3.15
-
error
public static IStatus error(String message)
Construct a new status object with severityIStatus.ERROR
, codeIStatus.OK
, and pluginId determined automatically from the calling class usingStackWalker
. The created status has no children.- Parameters:
message
- a human-readable message, localized to the current locale- Returns:
- the newly created status
- Since:
- 3.15
-
error
public static IStatus error(String message, Throwable exception)
Construct a new status object with severityIStatus.ERROR
, codeIStatus.OK
, and pluginId determined automatically from the calling class usingStackWalker
. The created status has no children.- Parameters:
message
- a human-readable message, localized to the current localeexception
- a low-level exception, ornull
if not applicable- Returns:
- the newly created status
- Since:
- 3.15
-
getChildren
public IStatus[] getChildren()
Description copied from interface:IStatus
Returns a list of status object immediately contained in this multi-status, or an empty list if this is not a multi-status.- Specified by:
getChildren
in interfaceIStatus
- Returns:
- an array of status objects
- See Also:
IStatus.isMultiStatus()
-
getCode
public int getCode()
Description copied from interface:IStatus
Returns the plug-in-specific status code describing the outcome.
-
getException
public Throwable getException()
Description copied from interface:IStatus
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.- Specified by:
getException
in interfaceIStatus
- Returns:
- the relevant low-level exception, or
null
if none
-
getMessage
public String getMessage()
Description copied from interface:IStatus
Returns the message describing the outcome. The message is localized to the current locale.- Specified by:
getMessage
in interfaceIStatus
- Returns:
- a localized message
-
getPlugin
public String getPlugin()
Description copied from interface:IStatus
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).
-
getSeverity
public int getSeverity()
Description copied from interface:IStatus
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.- Specified by:
getSeverity
in interfaceIStatus
- Returns:
- the severity: one of
OK
,ERROR
,INFO
,WARNING
, orCANCEL
- See Also:
IStatus.matches(int)
-
isMultiStatus
public boolean isMultiStatus()
Description copied from interface:IStatus
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.- Specified by:
isMultiStatus
in interfaceIStatus
- Returns:
true
for a multi-status,false
otherwise- See Also:
IStatus.getChildren()
-
isOK
public boolean isOK()
Description copied from interface:IStatus
Returns whether this status indicates everything is okay (neither info, warning, nor error).
-
matches
public boolean matches(int severityMask)
Description copied from interface:IStatus
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
.- Specified by:
matches
in interfaceIStatus
- 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:
IStatus.getSeverity()
,IStatus.CANCEL
,IStatus.ERROR
,IStatus.WARNING
,IStatus.INFO
-
setCode
protected void setCode(int code)
Sets the status code.- Parameters:
code
- the plug-in-specific status code, orOK
-
setException
protected void setException(Throwable exception)
Sets the exception.- Parameters:
exception
- a low-level exception, ornull
if not applicable
-
setMessage
protected void setMessage(String message)
Sets the message. If null is passed, message is set to an empty string.- Parameters:
message
- a human-readable message, localized to the current locale
-
setPlugin
protected void setPlugin(String pluginId)
Sets the plug-in id.- Parameters:
pluginId
- the unique identifier of the relevant plug-in
-
setSeverity
protected void setSeverity(int severity)
Sets the severity.- Parameters:
severity
- the severity; one ofOK
,ERROR
,INFO
,WARNING
, orCANCEL
-
-