public class FSMBuilder
extends java.lang.Object
| Constructor and Description | 
|---|
FSMBuilder()
Initializes the  
FSMBuilder. | 
FSMBuilder(Step[] fsmSteps)
Creates an FSMBuilder that is initialized to contain the specified
  Steps. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
addStateTrans(java.lang.Object trans,
             java.lang.Object targetStateID)
Adds the specified transition to the FSM state. 
 | 
FSM | 
getFSM()
Returns an  
FSM for the specification that has been built
  up using this FSMBuilder. | 
void | 
newFinalState(java.lang.Object stateID,
             Step step)
Tells the builder to create a new final state in the FSM. 
 | 
static FSM | 
newFSM(Step[] steps)
Returns an FSM that is entirely based on the sequence of Steps
  specified. 
 | 
void | 
newStartState(Step step,
             java.lang.Object defaultTargetStateID)
Tells the builder to create a new start state in the FSM. 
 | 
void | 
newState(java.lang.Object stateID,
        Step step,
        java.lang.Object defaultTargetStateID)
Tells the builder to create a new non-final state in the FSM. 
 | 
void | 
newState(java.lang.Object stateID,
        Step step,
        java.lang.Object defaultTargetStateID,
        boolean isFinalState)
Tells the builder to create a new state in the FSM. 
 | 
void | 
setDefaultTrans(java.lang.Object targetStateID)
Sets the specified target state ID as the default transition for
  the current FSM state. 
 | 
public FSMBuilder()
FSMBuilder.  The newState()
  method should be called immediately after creating a new
  FSMBuilder; generally, you would want to create the
  START_STATE first.public FSMBuilder(Step[] fsmSteps)
  Consider calling newFSM(Step[]) instead if you do not
  need to configure the FSMBuilder beyond the initial Step array.
public static FSM newFSM(Step[] steps)
java.lang.IllegalArgumentException - if the specified Step array
  is null or has no elements.public void newStartState(Step step, java.lang.Object defaultTargetStateID)
#newState(Object, Step, boolean) to add a start state
  that is also a final state.
  Subsequent calls to addStateTrans(..) will be
  relative to the newly created start state.
  If the specified stateID already exists in the FSM,
  the existing state will be replaced.
defaultTargetStateID - The stateID of the state that this state
  should transition to by default when no explicit transition matches.
  If this parameter is null, no default target will be set.public void newState(java.lang.Object stateID,
                     Step step,
                     java.lang.Object defaultTargetStateID)
addStateTrans(..) will be
  relative to this newly created state.
  If the specified stateID already exists in the FSM,
  the existing state will be replaced.
defaultTargetStateID - The stateID of the state that this state
  should transition to by default when no explicit transition matches.
  If this parameter is null, no default target will be set.public void newFinalState(java.lang.Object stateID,
                          Step step)
addStateTrans(..) will be
  relative to this newly created state.
  If the specified stateID already exists in the FSM,
  the existing state will be replaced.
public void newState(java.lang.Object stateID,
                     Step step,
                     java.lang.Object defaultTargetStateID,
                     boolean isFinalState)
addStateTrans(..) will be
  relative to this newly created state.
  If the specified stateID already exists in the FSM,
  the existing state will be replaced.
stateID - The object that identifies the state in the FSM.step - The Step that represents the activity of the state.defaultTargetStateID - The stateID of the state that this state
  should transition to by default when no explicit transition matches.
  If this parameter is null, no default target will be set.isFinalState - public void setDefaultTrans(java.lang.Object targetStateID)
public void addStateTrans(java.lang.Object trans,
                          java.lang.Object targetStateID)
trans occurs in this FSM state, the FSM will move to
  the state identified by targetStateID.public FSM getFSM() throws FSMInvalidException
FSM for the specification that has been built
  up using this FSMBuilder.  If the FSM specification is
  invalid, an FSMInvalidException is thrown.FSMInvalidException