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:
    DebugPlugin.getStatusHandler(IStatus)
    • Method Detail

      • 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