com.beasys.commerce.foundation
Interface Workflow

All Superinterfaces
BusinessSmartComponent, Serializable
All Known Implementing Classes:
PaymentWorkflow, 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
StateMachine

Method Summary
 String doTransition(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.
 String getCurrentStateName()
          Get the name of the current state
 String getInitialStateName()
          Get the name of the initial state
 String[] getOutgoingTransitions(String state)
          Get all transition names with the start state passed in.
 String[] getStateNames()
          Get all State names in an array of Strings.
 String[] getTransitionNames()
          Get all transition names in an array of Strings.
 String lookAheadTransition(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

String doTransition(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

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

String getCurrentStateName()
Get the name of the current state

Returns
current state name

getInitialStateName

String getInitialStateName()
Get the name of the initial state

Returns
initial state name

getStateNames

String[] getStateNames()
Get all State names in an array of Strings.

Returns
String[] an array of Strings

getTransitionNames

String[] getTransitionNames()
Get all transition names in an array of Strings.

Returns
String[] an array of Strings

getOutgoingTransitions

String[] getOutgoingTransitions(String state)
                                throws IllegalWorkflowTransitionException
Get all transition names with the start state passed in.

Returns
String[] an array of Strings
Throws
IllegalWorkflowTransitionException

lookAheadTransition

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.
Throws
IllegalWorkflowTransitionException - if the transition is invalid

reset

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


setContext

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.


Copyright © 2006 BEA Systems, Inc. All Rights Reserved