Class AbstractHandlerWithState
- java.lang.Object
-
- org.eclipse.core.commands.common.EventManager
-
- org.eclipse.core.commands.AbstractHandler
-
- org.eclipse.core.commands.AbstractHandlerWithState
-
- All Implemented Interfaces:
IHandler
,IHandler2
,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
Constructors Constructor Description AbstractHandlerWithState()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addState(String stateId, State state)
Adds a state to this handler.State
getState(String stateId)
Gets the state with the given id.String[]
getStateIds()
Gets the identifiers for all of the state associated with this object.void
removeState(String stateId)
Removes a state from this handler.-
Methods inherited from class org.eclipse.core.commands.AbstractHandler
addHandlerListener, dispose, fireHandlerChanged, hasListeners, isEnabled, isHandled, removeHandlerListener, setBaseEnabled, setEnabled
-
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
-
-
-
-
Method Detail
-
addState
public void addState(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 interfaceIObjectWithState
- Parameters:
stateId
- The identifier indicating the type of state being added; must not benull
.state
- The state to add; must not benull
.
-
getState
public final State getState(String stateId)
Description copied from interface:IObjectWithState
Gets the state with the given id.- Specified by:
getState
in interfaceIObjectWithState
- Parameters:
stateId
- The identifier of the state to retrieve; must not benull
.- Returns:
- The state; may be
null
if there is no state with the given id.
-
getStateIds
public final String[] getStateIds()
Description copied from interface:IObjectWithState
Gets the identifiers for all of the state associated with this object.- Specified by:
getStateIds
in interfaceIObjectWithState
- Returns:
- All of the state identifiers; may be empty, but never
null
.
-
removeState
public void removeState(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 interfaceIObjectWithState
- Parameters:
stateId
- The identifier of the state to remove; must not benull
.
-
-