Package org.eclipse.jface.action

## Class AbstractAction

- java.lang.Object
- - org.eclipse.core.commands.common.EventManager
  - - org.eclipse.jface.action.AbstractAction

All Implemented Interfaces:
  `IAction`

Direct Known Subclasses:
  `Action`

    public abstract class AbstractAction
    extends EventManager
    implements IAction

Some common functionality to share between implementations of `IAction`. This functionality deals with the property change event mechanism.

Clients may neither instantiate nor extend this class.

Since:
  3.2

### Field Summary

### Fields inherited from interface org.eclipse.jface.action.IAction

`AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT`

### Constructor Summary

Constructors
`AbstractAction()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addPropertyChangeListener​(IPropertyChangeListener listener)` Adds a property change listener to this action.
`protected void` `firePropertyChange​(String propertyName, Object oldValue, Object newValue)` Notifies any property change listeners that a property has changed.
`protected void` `firePropertyChange​(PropertyChangeEvent event)` Notifies any property change listeners that a property has changed.
`void` `removePropertyChangeListener​(IPropertyChangeListener listener)` Removes the given listener from this action.

### Methods inherited from class org.eclipse.core.commands.common.EventManager

`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

### Methods inherited from class java.lang.Object

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

### Methods inherited from interface org.eclipse.jface.action.IAction

`getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, isHandled, run, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText`

### Constructor Detail

#### AbstractAction

    public AbstractAction()

### Method Detail

#### addPropertyChangeListener

    public void addPropertyChangeListener​(IPropertyChangeListener listener)

Description copied from interface: `IAction`
Adds a property change listener to this action. Has no effect if an identical listener is already registered.

Specified by:
  `addPropertyChangeListener` in interface `IAction`
Parameters:
  `listener` - a property change listener

#### firePropertyChange

    protected final void firePropertyChange​(PropertyChangeEvent event)

Notifies any property change listeners that a property has changed. Only listeners registered at the time this method is called are notified.

Parameters:
  `event` - the property change event
See Also:
  `IPropertyChangeListener.propertyChange(PropertyChangeEvent)`

#### firePropertyChange

    protected final void firePropertyChange​(String propertyName,
                                            Object oldValue,
                                            Object newValue)

Notifies any property change listeners that a property has changed. Only listeners registered at the time this method is called are notified. This method avoids creating an event object if there are no listeners registered, but calls `firePropertyChange(PropertyChangeEvent)` if there are.

Parameters:
  `propertyName` - the name of the property that has changed
  `oldValue` - the old value of the property, or `null` if none
  `newValue` - the new value of the property, or `null` if none
See Also:
  `IPropertyChangeListener.propertyChange(PropertyChangeEvent)`

#### removePropertyChangeListener

    public void removePropertyChangeListener​(IPropertyChangeListener listener)

Description copied from interface: `IAction`
Removes the given listener from this action. Has no effect if an identical listener is not registered.

Specified by:
  `removePropertyChangeListener` in interface `IAction`
Parameters:
  `listener` - a property change listener