BEA Systems, Inc.

com.beasys.commerce.foundation
Interface Workflow

All Known Implementing Classes:
StateMachine

public interface Workflow
extends BusinessSmartComponent

A Business Smart Component (BSC) Workflow provides access to a remote instance of a BSC Workflow Implementation. A workflow defines an abstract interface to an object that implements a set of states and legal transitions between those states. This is a powerful metaphor that represents a variety of decision support structures. An implementation of a Workflow is the StateMachine class in The Theory Center's Axiom package. The Theory Center's SmartGenerator generates a workflow based on that StateMachine, directly from a State Diagram

See Also:
com.beasys.commerce.axiom.StateMachine

Method Summary
 java.lang.String doTransition(java.lang.String transitionName)
          Atempt to execute the specified transition and return the resulting state.
 WorkflowContext getContext()
          This method returns a Workflow context that can be used to later restore a Workflow.
 java.lang.String getCurrentStateName()
          Get the name of the current state
 java.lang.String getInitialStateName()
          Get the name of the initial state
 java.lang.String[] getOutgoingTransitions(java.lang.String state)
          Get all transition names with the start state passed in.
 java.lang.String[] getStateNames()
          Get all State names in an array of Strings.
 java.lang.String[] getTransitionNames()
          Get all transition names in an array of Strings.
 java.lang.String lookAheadTransition(java.lang.String transition)
          Given the name of the transition, look ahead the transition and return the predicted new state.
 void reset()
          Reset the current workflow state to the initial state
 void setContext(WorkflowContext workflowContext)
          Set the new context for the underlying workflow engine.
 

Method Detail

doTransition

public java.lang.String doTransition(java.lang.String transitionName)
                              throws IllegalWorkflowTransitionException
Atempt to execute the specified transition and return the resulting state. If the specified transition is not allowed by the Workflow specification an InvalidWorkflowTransitionException will be thrown.
Parameters:
transition - the name of the transition to be performed
Returns:
new state.
Throws:
IllegalWorkflowTransitionException - if the transition is invalid

getContext

public WorkflowContext getContext()
This method returns a Workflow context that can be used to later restore a Workflow. WorkflowContext is serializable and thus the WorkflowContext is the mechanism by which a Workflow is persisted. This method should be used only by the classes that implement the Workflow interface.
Returns:
WorkflowContext

getCurrentStateName

public java.lang.String getCurrentStateName()
Get the name of the current state
Returns:
current state name

getInitialStateName

public java.lang.String getInitialStateName()
Get the name of the initial state
Returns:
initial state name

getStateNames

public java.lang.String[] getStateNames()
Get all State names in an array of Strings.
Returns:
String[] an array of Strings

getTransitionNames

public java.lang.String[] getTransitionNames()
Get all transition names in an array of Strings.
Returns:
String[] an array of Strings

getOutgoingTransitions

public java.lang.String[] getOutgoingTransitions(java.lang.String state)
                                          throws IllegalWorkflowTransitionException
Get all transition names with the start state passed in.
Returns:
String[] an array of Strings

lookAheadTransition

public java.lang.String lookAheadTransition(java.lang.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.
Throws:
IllegalWorkflowTransitionException - if the transition is invalid

reset

public void reset()
Reset the current workflow state to the initial state

setContext

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.

BEA Systems, Inc.

Copyright © 2000 BEA Systems, Inc. All Rights Reserved