Package com.sun.corba.se.spi.orbutil.fsm
Class FSMImpl
java.lang.Object
com.sun.corba.se.spi.orbutil.fsm.FSMImpl
- All Implemented Interfaces:
FSM
- Direct Known Subclasses:
AOMEntry
This is the main class that represents an instance of a state machine
using a state engine. It may be used as a base class, in which case
the guards and actions have access to the derived class.
- Author:
- Ken Cavanaugh
-
Constructor Summary
ConstructorsConstructorDescriptionFSMImpl(StateEngine se, State startState) Create an instance of an FSM using the StateEngine in a particular start state.FSMImpl(StateEngine se, State startState, boolean debug) -
Method Summary
-
Constructor Details
-
FSMImpl
Create an instance of an FSM using the StateEngine in a particular start state. -
FSMImpl
-
-
Method Details
-
getState
Return the current state. -
doIt
Perform the transition for the given input in the current state. This proceeds as follows:Let S be the current state of the FSM. If there are guarded actions for S with input in, evaluate their guards successively until all have been evaluted, or one returns a non-DISABLED Result.
- If a DEFERED result is returned, retry the input
- If a ENABLED result is returned, the action for the guarded action is the current action
- Otherwise there is no enabled action. If S has a default action and next state, use them; otherwise use the state engine default action (the next state is always the current state).
- If the next state is not the current state, execute the current state postAction method.
- Execute the action.
- If the next state is not the current state, execute the next state preAction method.
- Set the current state to the next state.
-
internalSetState
-