Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2002 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.beasys.commerce.ebusiness.order
Class StateMachine

    java.lang.Object
      |
      +--com.beasys.commerce.ebusiness.order.StateMachine

public class StateMachine
extends java.lang.Object
implements java.io.Serializable

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.

See Also:
  Serialized Form

Constructor Summary
`StateMachine(java.lang.String domDocFile)` Constructor that takes as a parameter the name of an XML specification for the state machine.

Method Summary
`java.lang.String` | `getFirstState()` Gets the first state an order can be set to, which should correspond to a SUBMITTED state.
`java.lang.String` | `getNextStateName(java.lang.String currStateName, java.lang.String event)` Gets the state that results from sending a specified event to a specified state.
`java.lang.String[]` | `getValidEvents(java.lang.String stateName)` Gets the names of the events associated with transitions that lead from a specified state
`java.lang.String` | `handleEvent(java.lang.Object targetObject, java.lang.String currStateName, java.lang.String event)` Handles an event for a given object, in particular invokes the onExitMethod, onEntryMethod, and doMethod if they exists
`static void` | `main(java.lang.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

### StateMachine

    public StateMachine(java.lang.String domDocFile)
                 throws java.lang.Exception

  Constructor that takes as a parameter the name of an XML specification for the state machine.

  Parameters:
    `domDocFile` - The name of the XML file that has the state machine's specification, residing in the classpath
  Throws:
    java.lang.Exception -

Method Detail

### handleEvent

    public java.lang.String handleEvent(java.lang.Object targetObject,
                                        java.lang.String currStateName,
                                        java.lang.String event)
                                 throws StateTransitionException

  Handles an event for a given object, in particular invokes the onExitMethod, onEntryMethod, and doMethod if they exists

  Parameters:
    `targetObject:` - the target of the handling
    `currStateName:` - based on the current state, decides on which action to take
    `event,` - based on the event being handled, decides on which action to take
  Returns:
    the new state the object has moved to.

### getNextStateName

    public java.lang.String getNextStateName(java.lang.String currStateName,
                                             java.lang.String event)
                                      throws StateTransitionException

  Gets the state that results from sending a specified event to a specified state.

  Parameters:
    `currStateName` - The name of the current state
    `event` - The event to be sent to the current state
  Returns:
    The name of the new state
  Throws:
    StateTransitionException -

### getValidEvents

    public java.lang.String[] getValidEvents(java.lang.String stateName)

  Gets the names of the events associated with transitions that lead from a specified state

  Parameters:
    `stateName,` - the name of a state in the machine
  Returns:
    an array of String, one per reachable events.

### getFirstState

    public java.lang.String getFirstState()
                                   throws StateTransitionException

  Gets the first state an order can be set to, which should correspond to a SUBMITTED state.

  Returns:
    the 'first' state, the source of transitions.

### main

    public static void main(java.lang.String[] argv)

  A testing 'main' that uses the classes\orderstatus.xml and show a tree of the possible transitions

Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2002 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002 BEA Systems, Inc. All Rights Reserved