Top Description Methods
org.glassfish.pfl.basic.fsm

public Interface FSM

Known Direct Implementers
org.glassfish.pfl.basic.fsm.FSMImpl

An FSM is used to represent an instance of a finite state machine which has a transition function represented by an instance of StateEngine. An instance of an FSM may be created either by calling StateEngine.makeFSM( startState ) on a state engine, or by extending FSMImpl and using a constructor. Using FSMImpl as a base class is convenient if additional state is associated with the FSM beyond that encoded by the current state. This is especially convenient if an action needs some additional information. For example, counters are best handled by special actions rather than encoding a bounded counter in a state machine. It is also possible to create a class that implements the FSM interface by delegating to an FSM instance created by StateEngine.makeFSM.
Author
Ken Cavanaugh

Method Summary

Modifier and TypeMethod and Description
public FSM
getParent()

Get the parent state machine.

public State
getState()

Get the current state of this FSM.

public StateEngine
getStateEngine()

Return the state engine used to create this FSM.

public void
setParent(FSM fsm)

Set the parent state machine.

public void
setState(State state)

Set the current state of this FSM.

Method Detail

getParentback to summary
public FSM getParent()

Get the parent state machine.

getStateback to summary
public State getState()

Get the current state of this FSM.

getStateEngineback to summary
public StateEngine getStateEngine()

Return the state engine used to create this FSM.

setParentback to summary
public void setParent(FSM fsm)

Set the parent state machine.

setStateback to summary
public void setState(State state)

Set the current state of this FSM. May not be called inside a transition action, or from a State method. Only here for use by the StateEngine.