Class MultiStatus

  • All Implemented Interfaces:
    IStatus

    public class MultiStatus
    extends Status
    A concrete multi-status implementation, suitable either for instantiating or subclassing.

    This class can be used without OSGi running.

    • Constructor Detail

      • MultiStatus

        public MultiStatus​(String pluginId,
                           int code,
                           IStatus[] newChildren,
                           String message,
                           Throwable exception)
        Creates and returns a new multi-status object with the given children.
        Parameters:
        pluginId - the unique identifier of the relevant plug-in
        code - the plug-in-specific status code
        newChildren - the list of children status objects
        message - a human-readable message, localized to the current locale
        exception - a low-level exception, or null if not applicable
      • MultiStatus

        public MultiStatus​(String pluginId,
                           int code,
                           String message,
                           Throwable exception)
        Creates and returns a new multi-status object with no children.
        Parameters:
        pluginId - the unique identifier of the relevant plug-in
        code - the plug-in-specific status code
        message - a human-readable message, localized to the current locale
        exception - a low-level exception, or null if not applicable
    • Method Detail

      • add

        public void add​(IStatus status)
        Adds the given status to this multi-status.
        Parameters:
        status - the new child status
      • addAll

        public void addAll​(IStatus status)
        Adds all of the children of the given status to this multi-status. Does nothing if the given status has no children (which includes the case where it is not a multi-status).
        Parameters:
        status - the status whose children are to be added to this one
      • 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
        Overrides:
        getChildren in class Status
        Returns:
        an array of status objects
        See Also:
        IStatus.isMultiStatus()
      • 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
        Overrides:
        isMultiStatus in class Status
        Returns:
        true for a multi-status, false otherwise
        See Also:
        IStatus.getChildren()
      • merge

        public void merge​(IStatus status)
        Merges the given status into this multi-status. Equivalent to add(status) if the given status is not a multi-status. Equivalent to addAll(status) if the given status is a multi-status.
        Parameters:
        status - the status to merge into this one
        See Also:
        add(IStatus), addAll(IStatus)
      • toString

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