S - The concrete type of the state object.public class DefaultStateManager<S extends State> extends Object implements StateManager<S>
StateManager.| Modifier and Type | Field and Description |
|---|---|
protected S |
currentState
The current state object.
|
protected Set<OnStateChanged<S>> |
stateChangedListeners
Collection of listeners of when the state changes.
|
| Constructor and Description |
|---|
DefaultStateManager(S initialState) |
| Modifier and Type | Method and Description |
|---|---|
void |
addStateChangedListener(OnStateChanged<S> listener)
Add listener for when the state changed.
|
void |
dispose()
Hook for cleaning up: remove listeners, shutdown threads, etc.
|
S |
getCurrentState()
Returns the current state.
|
void |
handleNewState(S newState,
Event event)
Validate and set a new state object.
|
void |
removeStateChangedListener(OnStateChanged<S> listener)
Remove previously added state changed listener.
|
protected final Set<OnStateChanged<S extends State>> stateChangedListeners
public DefaultStateManager(S initialState)
public void addStateChangedListener(OnStateChanged<S> listener)
StateObserveraddStateChangedListener in interface StateObserver<S extends State>listener - The listener to notify when the state changes.public void dispose()
Disposabledispose in interface Disposablepublic S getCurrentState()
StateObservergetCurrentState in interface StateObserver<S extends State>public void handleNewState(S newState, Event event)
StateManagerhandleNewState in interface StateManager<S extends State>newState - The new state object to set.event - The event that triggered the state change.public void removeStateChangedListener(OnStateChanged<S> listener)
StateObserverremoveStateChangedListener in interface StateObserver<S extends State>listener - The listener to remove.Copyright © 2016 Cooking Fox. All rights reserved.