Class 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 Detail

      • 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 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 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 Detail

      • 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:
        IStatus.isMultiStatus()
      • 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:
        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 interface IStatus
        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).
        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:
        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, 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