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 provided Class or by using StackWalker.

  • Field Details

    • OK_STATUS

      public static final IStatus OK_STATUS
      A standard OK status with an "ok" message.
      Since:
      3.0
    • CANCEL_STATUS

      public static final IStatus CANCEL_STATUS
      A standard CANCEL status with no message.
      Since:
      3.0
  • Constructor Details

    • 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 of OK, ERROR, INFO, WARNING, or CANCEL
      caller - the relevant class to build unique identifier from
      code - the caller-specific status code, or OK
      message - a human-readable message, localized to the current locale. If null or empty a message from the exception is interpolated.
      exception - a low-level exception, or null 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 of OK, ERROR, INFO, WARNING, or CANCEL
      pluginId - the unique identifier of the relevant plug-in
      code - the plug-in-specific status code, or OK
      message - a human-readable message, localized to the current locale. If null or empty a message from the exception is interpolated.
      exception - a low-level exception, or null if not applicable
    • Status

      public Status(int severity, Class<?> caller, String message, Throwable exception)
      Simplified constructor of a new status object; assumes that code is OK. The created status has no children.
      Parameters:
      severity - the severity; one of OK, ERROR, INFO, WARNING, or CANCEL
      caller - the relevant class to build unique identifier from
      message - a human-readable message, localized to the current locale. If null or empty a message from the exception is interpolated.
      exception - a low-level exception, or null 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 is OK. The created status has no children.
      Parameters:
      severity - the severity; one of OK, ERROR, INFO, WARNING, or CANCEL
      pluginId - the unique identifier of the relevant plug-in
      message - a human-readable message, localized to the current locale. If null or empty a message from the exception is interpolated.
      exception - a low-level exception, or null 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 is OK and exception is null. The created status has no children.
      Parameters:
      severity - the severity; one of OK, ERROR, INFO, WARNING, or CANCEL
      caller - the relevant class to build unique identifier from
      message - 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 is OK and exception is null. The created status has no children.
      Parameters:
      severity - the severity; one of OK, ERROR, INFO, WARNING, or CANCEL
      pluginId - the unique identifier of the relevant plug-in
      message - a human-readable message, localized to the current locale
      Since:
      org.eclipse.equinox.common 3.3
  • Method Details

    • info

      public static IStatus info(String message)
      Construct a new status object with severity IStatus.INFO, code IStatus.OK, and pluginId determined automatically from the calling class using StackWalker. 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 severity IStatus.WARNING, code IStatus.OK, and pluginId determined automatically from the calling class using StackWalker. 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 severity IStatus.WARNING, code IStatus.OK, and pluginId determined automatically from the calling class using StackWalker. The created status has no children.
      Parameters:
      message - a human-readable message, localized to the current locale
      exception - a low-level exception, or null if not applicable
      Returns:
      the newly created status
      Since:
      3.15
    • error

      public static IStatus error(String message)
      Construct a new status object with severity IStatus.ERROR, code IStatus.OK, and pluginId determined automatically from the calling class using StackWalker. 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 severity IStatus.ERROR, code IStatus.OK, and pluginId determined automatically from the calling class using StackWalker. The created status has no children.
      Parameters:
      message - a human-readable message, localized to the current locale
      exception - a low-level exception, or null 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 interface IStatus
      Returns:
      an array of status objects
      See Also:
    • getCode

      public int getCode()
      Description copied from interface: IStatus
      Returns the plug-in-specific status code describing the outcome.
      Specified by:
      getCode in interface IStatus
      Returns:
      plug-in-specific status code
    • getException

      public Throwable getException()
      Description copied from interface: IStatus
      Returns the relevant low-level exception, or null if none. For example, when an operation fails because of a network communications failure, this might return the java.io.IOException describing the exact nature of that failure.
      Specified by:
      getException in interface IStatus
      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 interface IStatus
      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).
      Specified by:
      getPlugin in interface IStatus
      Returns:
      the unique identifier of the relevant plug-in
    • getSeverity

      public int getSeverity()
      Description copied from interface: IStatus
      Returns the severity. The severities are as follows (in descending order):
      • CANCEL - cancelation occurred
      • ERROR - 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 interface IStatus
      Returns:
      the severity: one of OK, ERROR, INFO, WARNING, or CANCEL
      See Also:
    • 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 interface IStatus
      Returns:
      true for a multi-status, false otherwise
      See Also:
    • isOK

      public boolean isOK()
      Description copied from interface: IStatus
      Returns whether this status indicates everything is okay (neither info, warning, nor error).
      Specified by:
      isOK in interface IStatus
      Returns:
      true if this status has severity OK, and false otherwise
    • 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 severity OK will never match; use isOK instead to detect a status with a severity of OK.
      Specified by:
      matches in interface IStatus
      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:
    • setCode

      protected void setCode(int code)
      Sets the status code.
      Parameters:
      code - the plug-in-specific status code, or OK
    • setException

      protected void setException(Throwable exception)
      Sets the exception.
      Parameters:
      exception - a low-level exception, or null 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 of OK, ERROR, INFO, WARNING, or CANCEL
    • toString

      public String toString()
      Returns a string representation of the status, suitable for debugging purposes only.
      Overrides:
      toString in class Object