Interface Action

All Known Implementing Classes:
ActionBase

public interface Action
Description goes here
Author:
Ken Cavanaugh
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    doIt(FSM fsm, Input in)
    Called by the state engine to perform an action before a state transition takes place.
  • Method Details

    • doIt

      void doIt(FSM fsm, Input in)
      Called by the state engine to perform an action before a state transition takes place. The FSM is passed so that the Action may set the next state in cases when that is required. FSM and Input together allow actions to be written that depend on the state and input, but this should generally be avoided, as the reason for a state machine in the first place is to cleanly separate the actions and control flow. Note that an action should complete in a timely manner. If the state machine is used for concurrency control with multiple threads, the action must not allow multiple threads to run simultaneously in the state machine, as the state could be corrupted. Any exception thrown by the Action for the transition will be propagated to doIt.
      Parameters:
      FSM - fsm is the state machine causing this action.
      Input - in is the input that caused the transition.