# Class ActionHandler

java.lang.Object
org.eclipse.core.commands.common.EventManager
org.eclipse.core.commands.AbstractHandler
org.eclipse.jface.commands.ActionHandler

All Implemented Interfaces:
  `IHandler, IHandler2`

public final class ActionHandler extends AbstractHandler

This class adapts instances of `IAction` to `IHandler`.

Since:
  3.1

## Constructor Summary

Constructors
Constructor
Description
`ActionHandler(IAction action)`
Creates a new instance of this class given an instance of `IAction`.

## Method Summary

Modifier and Type
Method
Description
`final void`
`addHandlerListener(IHandlerListener handlerListener)`
Registers an instance of `IHandlerListener` to listen for changes to properties of this instance.
`final void`
`dispose()`
Removes the property change listener from the action.
`final Object`
`execute(ExecutionEvent event)`
Executes with the map of parameter values by name.
`final IAction`
`getAction()`
Returns the action associated with this handler
`String`
`getHandlerLabel()`
Return the label for this handler.
`final boolean`
`isEnabled()`
Whether this handler is capable of executing at this time.
`final boolean`
`isHandled()`
Whether this handler is capable of handling delegated responsibilities at this time.
`final void`
`removeHandlerListener(IHandlerListener handlerListener)`
Unregisters an instance of `IHandlerListener` listening for changes to properties of this instance.
`final String`
`toString()`

### Methods inherited from class AbstractHandler

`fireHandlerChanged, hasListeners, setBaseEnabled, setEnabled`

### Methods inherited from class EventManager

`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### ActionHandler

public ActionHandler(IAction action)
Creates a new instance of this class given an instance of `IAction`.

Parameters:
  `action` - the action. Must not be `null`.

## Method Details

### addHandlerListener

public final void addHandlerListener(IHandlerListener handlerListener)
Description copied from interface: `IHandler`
Registers an instance of `IHandlerListener` to listen for changes to properties of this instance.

Specified by:
  `addHandlerListener` in interface `IHandler`
Overrides:
  `addHandlerListener` in class `AbstractHandler`
Parameters:
  `handlerListener` - the instance to register. Must not be `null`. If an attempt is made to register an instance which is already registered with this instance, no operation is performed.

### dispose

public final void dispose()
Removes the property change listener from the action.

Specified by:
  `dispose` in interface `IHandler`
Overrides:
  `dispose` in class `AbstractHandler`
See Also:
  - `IHandler.dispose()`

### execute

public final Object execute(ExecutionEvent event) throws ExecutionException
Description copied from interface: `IHandler`
Executes with the map of parameter values by name.

Parameters:
  `event` - An event containing all the information about the current state of the application; must not be `null`.
Returns:
  the result of the execution. Reserved for future use, must be `null`.
Throws:
  `ExecutionException` - if an exception occurred during execution.

### getAction

public final IAction getAction()
Returns the action associated with this handler

Returns:
  the action associated with this handler (not null)
Since:
  3.1

### isEnabled

public final boolean isEnabled()
Description copied from class: `AbstractHandler`
Whether this handler is capable of executing at this time. Subclasses may override this method. If clients override this method they should also consider overriding `AbstractHandler.setEnabled(Object)` so they can be notified about framework execution contexts.

Specified by:
  `isEnabled` in interface `IHandler`
Overrides:
  `isEnabled` in class `AbstractHandler`
Returns:
  `true`
See Also:
  - `AbstractHandler.setEnabled(Object)`
  - `AbstractHandler.setBaseEnabled(boolean)`

### isHandled

public final boolean isHandled()
Description copied from class: `AbstractHandler`
Whether this handler is capable of handling delegated responsibilities at this time. Subclasses may override this method.

Specified by:
  `isHandled` in interface `IHandler`
Overrides:
  `isHandled` in class `AbstractHandler`
Returns:
  `true`

### removeHandlerListener

public final void removeHandlerListener(IHandlerListener handlerListener)
Description copied from interface: `IHandler`
Unregisters an instance of `IHandlerListener` listening for changes to properties of this instance.

Specified by:
  `removeHandlerListener` in interface `IHandler`
Overrides:
  `removeHandlerListener` in class `AbstractHandler`
Parameters:
  `handlerListener` - the instance to unregister. Must not be `null`. If an attempt is made to unregister an instance which is not already registered with this instance, no operation is performed.

### toString

public final String toString()

Overrides:
  `toString` in class `Object`

### getHandlerLabel

public String getHandlerLabel()
Description copied from interface: `IHandler`
Return the label for this handler. The handler can implement this method to provide a more dynamic label according to the actual action that is performed. When returning null, callers may instead use the invoking command label or a generic label.

Returns:
  name of the Handler, can be null