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>> |
subscribers
List of subscribers of when the state changes.
|
| Constructor and Description |
|---|
DefaultStateManager(S initialState) |
| Modifier and Type | Method and Description |
|---|---|
S |
getCurrentState()
Returns the current state.
|
void |
handleNewState(S newState,
Event event)
Validate and set a new state object.
|
void |
subscribe(OnStateChanged<S> subscriber)
Subscribe to when the state changes.
|
void |
unsubscribe(OnStateChanged<S> subscriber)
Remove previously added subscriber.
|
protected final Set<OnStateChanged<S extends State>> subscribers
public DefaultStateManager(S initialState)
public 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 subscribe(OnStateChanged<S> subscriber)
StateObserversubscribe in interface StateObserver<S extends State>subscriber - The subscriber to notify when the state changes.public void unsubscribe(OnStateChanged<S> subscriber)
StateObserverunsubscribe in interface StateObserver<S extends State>subscriber - The subscriber to remove.Copyright © 2016 Cooking Fox. All rights reserved.