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.
Constructor and Description |
---|
AbstractHandlerWithState() |
Modifier and Type | Method and 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.
|
addHandlerListener, dispose, fireHandlerChanged, hasListeners, isEnabled, isHandled, removeHandlerListener, setBaseEnabled, setEnabled
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handleStateChange
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.
addState
in interface IObjectWithState
stateId
- The identifier indicating the type of state being added; must
not be null
.state
- The state to add; must not be null
.public final State getState(String stateId)
IObjectWithState
getState
in interface IObjectWithState
stateId
- The identifier of the state to retrieve; must not be
null
.null
if there is no state with
the given id.public final String[] getStateIds()
IObjectWithState
getStateIds
in interface IObjectWithState
null
.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.
removeState
in interface IObjectWithState
stateId
- The identifier of the state to remove; must not be
null
.
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.