Interface IStatusHandler


public interface IStatusHandler
A status handler registers to handle a specific status - error or otherwise. Provides a mechanism for separating core (headless) function from UI interaction. The debug plug-in provides a status handlers extension point, against which handlers can register for specific status codes - identified by plug-in identifier and plug-in specific status code. The interaction between an object requiring a status handler (source), and the status handler is defined by the source and handler.

For example, a launch configuration delegate might encounter a timeout while launching an application. In this case the delegate could abort or, via the use of a status handler, prompt the user to continue. This allows the launcher to be implemented in a plug-in that does not require UI support, and allows another (UI) plug-in to register a handler.

A status handler extension is defined in plugin.xml. Following is an example definition of a status handler extension.

 <extension point="org.eclipse.debug.core.statusHandlers">
   <statusHandler
      id="com.example.ExampleIdentifier"
      class="com.example.ExampleStatusHandler"
      plugin="com.example.ExamplePluginId"
      code="123">
   </statusHandler>
 </extension>
 
The attributes are specified as follows:
  • id specifies a unique identifier for this status handler.
  • class specifies the fully qualified name of the Java class that implements IStatusHandler.
  • plugin plug-in identifier that corresponds to the plug-in of the status this handler is registered for (i.e. IStatus.getPlugin()).
  • code specifies the status code this handler is registered for.

Clients may implement this interface.

Since:
2.0
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    handleStatus(IStatus status, Object source)
    Notifies this status handler that the given status has been generated by the specified source object and requires resolution.
  • Method Details

    • handleStatus

      Object handleStatus(IStatus status, Object source) throws CoreException
      Notifies this status handler that the given status has been generated by the specified source object and requires resolution.
      Parameters:
      status - the status to handle
      source - the object delegating to this status handler the given status
      Returns:
      an object representing the resolution of the status
      Throws:
      CoreException - if unable to resolve the status