org.eclipse.core.commands
Class AbstractHandlerWithState

java.lang.Object
  extended by org.eclipse.core.commands.common.EventManager
      extended by org.eclipse.core.commands.AbstractHandler
          extended by org.eclipse.core.commands.AbstractHandlerWithState
All Implemented Interfaces:
IHandler, IObjectWithState, IStateListener

public abstract class AbstractHandlerWithState
extends AbstractHandler
implements IObjectWithState, IStateListener

An abstract implementation of IObjectWithState. This provides basic handling for adding and remove state. When state is added, the handler attaches itself as a listener and fire a handleStateChange event to notify this handler. When state is removed, the handler removes itself as a listener.

Clients may extend this class.

Since:
3.2

Constructor Summary
AbstractHandlerWithState()
           
 
Method Summary
 void addState(java.lang.String stateId, State state)
           Adds a state to this handler.
 State getState(java.lang.String stateId)
          Gets the state with the given id.
 java.lang.String[] getStateIds()
          Gets the identifiers for all of the state associated with this object.
 void removeState(java.lang.String stateId)
           Removes a state from this handler.
 
Methods inherited from class org.eclipse.core.commands.AbstractHandler
addHandlerListener, dispose, fireHandlerChanged, hasListeners, isEnabled, isHandled, removeHandlerListener
 
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.core.commands.IStateListener
handleStateChange
 
Methods inherited from interface org.eclipse.core.commands.IHandler
execute
 

Constructor Detail

AbstractHandlerWithState

public AbstractHandlerWithState()
Method Detail

addState

public void addState(java.lang.String stateId,
                     State state)

Adds a state to this handler. This will add this handler as a listener to the state, and then fire a handleStateChange so that the handler can respond to the incoming state.

Clients may extend this method, but they should call this super method first before doing anything else.

Specified by:
addState in interface IObjectWithState
Parameters:
stateId - The identifier indicating the type of state being added; must not be null.
state - The state to add; must not be null.

getState

public final State getState(java.lang.String stateId)
Description copied from interface: IObjectWithState
Gets the state with the given id.

Specified by:
getState in interface IObjectWithState
Parameters:
stateId - The identifier of the state to retrieve; must not be null.
Returns:
The state; may be null if there is no state with the given id.

getStateIds

public final java.lang.String[] getStateIds()
Description copied from interface: IObjectWithState
Gets the identifiers for all of the state associated with this object.

Specified by:
getStateIds in interface IObjectWithState
Returns:
All of the state identifiers; may be empty, but never null.

removeState

public void removeState(java.lang.String stateId)

Removes a state from this handler. This will remove this handler as a listener to the state. No event is fired to notify the handler of this change.

Clients may extend this method, but they should call this super method first before doing anything else.

Specified by:
removeState in interface IObjectWithState
Parameters:
stateId - The identifier of the state to remove; must not be null.