Eclipse Platform Release 3.7

## org.eclipse.debug.core.commands
Interface IDebugCommandHandler

All Known Subinterfaces:
  IDisconnectHandler, IDropToFrameHandler, IRestartHandler, IResumeHandler, IStepFiltersHandler, IStepIntoHandler, IStepOverHandler, IStepReturnHandler, ISuspendHandler, ITerminateHandler

All Known Implementing Classes:
  AbstractDebugCommand

    public interface IDebugCommandHandler

Handles a command for a debugger. Specific command handlers extend this interface.

The debug platform provides actions for common debug commands that operate against these handler interfaces. For example, the platform provides a terminate action that operates on the active debug context (selected element in the debug view). The action delegates to the active context's `ITerminateHandler` implementation to update its enabled state and execute the command. Debug model elements may implement supported command handler interfaces directly or provide them as adapters. The debug platform provides implementations of handlers for standard debug models.

Since:
  3.3
See Also:
  `IAdaptable`, `IDisconnectHandler`, `IDropToFrameHandler`, `IResumeHandler`, `IStepFiltersHandler`, `IStepIntoHandler`, `IStepOverHandler`, `IStepReturnHandler`, `ISuspendHandler`, `ITerminateHandler`

Method Summary
`void` `canExecute(IEnabledStateRequest request)` Determines whether this handler can execute on the elements specified in the given request by reporting enabled state to the request.
`boolean` `execute(IDebugCommandRequest request)` Executes this command on the elements specified in the given request reporting status to the given request and returns whether this handler should remain enabled while the command is executing.

Method Detail

### canExecute

    void canExecute(IEnabledStateRequest request)

  Determines whether this handler can execute on the elements specified in the given request by reporting enabled state to the request.

  Implementations must be non-blocking and may respond asynchronously to the given request. Errors can reported by setting an appropriate status on the given request. A request can be canceled by this handler or caller. A `null` status is equivalent to an OK status. When a request succeeds, fails, or is canceled, implementations must call `done()` on the given request.

  Clients are expected to poll the request (using `isCanceled`) periodically and abort at their earliest convenience calling `done()` on the request.

  Parameters:
    `request` - specifies elements to operate on and collects enabled state

### execute

    boolean execute(IDebugCommandRequest request)

  Executes this command on the elements specified in the given request reporting status to the given request and returns whether this handler should remain enabled while the command is executing.

  Implementations must be non-blocking and may respond asynchronously to the given request. Errors can reported by setting an appropriate status on the given request. A request can be canceled by this handler or the caller. A `null` status is equivalent to an OK status. When a request is complete, has encountered an error, or canceled, implementations must call `done()` on the given collector.

  Handlers are expected to poll the request (using `isCanceled`) periodically and abort at their earliest convenience calling `done()` on the request.

  Parameters:
    `request` - specifies elements to operate on and collects execution status
  Returns:
    whether this handler remains enabled while command is executing

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.