Interface IStatus

All Known Subinterfaces:
IJobStatus, IMergeStatus, IResourceStatus, ITeamStatus
All Known Implementing Classes:
MergeStatus, ModelStatus, MultiStatus, OperationStatus, Status, TeamStatus, ValidationStatus

public interface IStatus
A status object represents the outcome of an operation. All CoreExceptions 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

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Status type severity (bit mask, value 8) indicating this status represents a cancelation
    static 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 Type
    Method
    Description
    Returns a list of status object immediately contained in this multi-status, or an empty list if this is not a multi-status.
    int
    Returns the plug-in-specific status code describing the outcome.
    Returns the relevant low-level exception, or null 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
    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

  • 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, 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.
      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 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.

      Returns:
      the severity: one of OK, ERROR, INFO, WARNING, or CANCEL
      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 severity OK, and false otherwise
    • matches

      boolean matches(int severityMask)
      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.
      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: