addTransition
public void addTransition(S theStartState,
E theEvent,
S theNextState,
Consumer<StateMachine.StateTransition> theTransitionConsumer,
O theUserObject)
This method is used to build the state machine transitions. Each call creates a directed edge
between the theStartState and the theNextState. A Runnable is associated with the transition. The only
way to move from one state to the next is by executing the Runnable associated with that state
transition.
When an event occurs the current state is checked. If a transition was added such that the current
state matches theStartState and the occurring event matches theEvent then the state machine will
execute theMethod Runnable object. If it returns successfully the state machine will move to the
theNextState.
- Parameters:
theStartState
- The starting state for this transition mapping.
theEvent
- The event that this transition will handle.
theNextState
- The state to move to if the transition is successful.
theTransitionConsumer
- The method to run that will handle the logic for this transition.
If this is null the state machine will move directly to theNextState.
theUserObject
- A object to be passed to the state transition handlers.