|
Copyright © 2006 BEA Systems, Inc. All Rights Reserved | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.beasys.commerce.ebusiness.order.StateMachine
public class StateMachine
A class for implementing finite state machines. The
state machine is created by parsing an XML document,
classes\orderstatus.xml.
The state machine helps get valid transitions based
on a current transition, so that an Order Status
can be moved to a valid new state.
| Constructor Summary | |
|---|---|
StateMachine(String domDocFile)
Constructor that takes as a parameter the name of an XML specification for the state machine. |
|
| Method Summary | |
|---|---|
String |
getFirstState()
Gets the first state an order can be set to, which should correspond to a SUBMITTED state. |
String |
getNextStateName(String currStateName,
String event)
Gets the state that results from sending a specified event to a specified state. |
String[] |
getValidEvents(String stateName)
Gets the names of the events associated with transitions that lead from a specified state |
String |
handleEvent(Object targetObject,
String currStateName,
String event)
Handles an event for a given object, in particular invokes the onExitMethod, onEntryMethod, and doMethod if they exists |
static void |
main(String[] argv)
A testing 'main' that uses the classes\orderstatus.xml and show a tree of the possible transitions |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public StateMachine(String domDocFile)
throws Exception
domDocFile - The name of the XML file that has the state machine's
specification, residing in the classpath
Exception| Method Detail |
|---|
public String handleEvent(Object targetObject,
String currStateName,
String event)
throws StateTransitionException
targetObject: - the target of the handlingcurrStateName: - based on the current state, decides on which action to takeevent, - based on the event being handled, decides on which action to take
StateTransitionException
public String getNextStateName(String currStateName,
String event)
throws StateTransitionException
currStateName - The name of the current stateevent - The event to be sent to the current state
StateTransitionExceptionpublic String[] getValidEvents(String stateName)
stateName, - the name of a state in the machine
public String getFirstState()
throws StateTransitionException
StateTransitionExceptionpublic static void main(String[] argv)
|
Copyright © 2006 BEA Systems, Inc. All Rights Reserved | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||