StateMachine Class
- public class StateMachine
extends Object
implements Workflow
This is the reference implemenation of a Workflow object. It provides a
simple implemenation based on a set of states and transitions.
Related Topics
Workflow
-
Hierarchy
-
Object
StateMachine
-
All Implemented Interfaces
-
BusinessSmartComponent, Serializable, Workflow
-
Direct Known Subclasses
-
PaymentWorkflow
-
StateMachine()
- Use WorkflowHome.create("com.beasys.commerce.foundation.StateMachine") to instantiate the workflow.
|
Methods from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
currentState
protected State currentState
initialState
protected State initialState
states
protected TreeSet states
TRANSITION_KEY_TOKEN
protected String TRANSITION_KEY_TOKEN
transitions
protected TreeMap transitions
StateMachine
public StateMachine()
- Use WorkflowHome.create("com.beasys.commerce.foundation.StateMachine") to instantiate the workflow.
addTransition(Transition) Method
protected void addTransition(Transition t)
doTransition(String) Method
public String doTransition(String transitionName)
throws IllegalWorkflowTransitionException
Given the name of the transition, perform the transition
and return the new state. If transition is invalid
for the current state of the state machine, throw IllegalWorkflowTransitionException
Parameters
-
transitionName
- the name of the transition to be performed
Returns
- new state.
Exceptions
-
IllegalWorkflowTransitionException
- if the transition is invalid
getContext() Method
public WorkflowContext getContext()
Get the context of the Workflow. This method should be used only by the classes that implement the Workflow interface.
Returns
- WorkflowContext
getCurrentStateName() Method
public String getCurrentStateName()
Get the name of the current state
Returns
- current state name
getInitialStateName() Method
public String getInitialStateName()
Get the name of the initial state
Returns
- initial state name
getOutgoingTransitions(String) Method
public String[] getOutgoingTransitions(String state)
throws IllegalWorkflowTransitionException
Given the name of the state, return all transitions starting from that state
Parameters
-
state
- the name of the state
Returns
- a String[] of transition names.
Exceptions
-
IllegalWorkflowTransitionException
- if the transition is invalid
getStateNames() Method
public String[] getStateNames()
Get all State names in an array of Strings.
Returns
- String[] an array of Strings
getTransitionNames() Method
public String[] getTransitionNames()
Get all transition names in an array of Strings.
Returns
- String[] an array of Strings
lookAheadTransition(String) Method
public String lookAheadTransition(String transition)
throws IllegalWorkflowTransitionException
Given the name of the transition, look ahead the transition
and return the predicted new state. If transition is invalid
for the current state of the state machine, throw IllegalWorkflowTransitionException.
Parameters
-
transition
- the name of the transition to be performed
Returns
- predicted new state.
Exceptions
-
IllegalWorkflowTransitionException
- if the transition is invalid
reset() Method
public void reset()
Reset the current workflow state to the initial state
setContext(WorkflowContext) Method
public void setContext(WorkflowContext workflowContext)
Set the new context for the underlying workflow engine. This method should be used only by the classes that implement the Workflow interface.
Parameters
-
workflowContext
- the new context for the underlying workflow engine.