public class FlowArtifactFactory
extends java.lang.Object
flows
, states
, and transitions
.
This factory encapsulates the construction of each Flow implementation as well as each core artifact type. Subclasses may customize how the core elements are created.
Constructor and Description |
---|
FlowArtifactFactory() |
Modifier and Type | Method and Description |
---|---|
State |
createActionState(java.lang.String id,
Flow flow,
Action[] entryActions,
Action[] actions,
Transition[] transitions,
FlowExecutionExceptionHandler[] exceptionHandlers,
Action[] exitActions,
AttributeMap attributes)
Factory method that creates a new action state, a state where a system action is executed.
|
State |
createDecisionState(java.lang.String id,
Flow flow,
Action[] entryActions,
Transition[] transitions,
FlowExecutionExceptionHandler[] exceptionHandlers,
Action[] exitActions,
AttributeMap attributes)
Factory method that creates a new decision state, a state where a flow routing decision is made.
|
State |
createEndState(java.lang.String id,
Flow flow,
Action[] entryActions,
Action finalResponseAction,
Mapper outputMapper,
FlowExecutionExceptionHandler[] exceptionHandlers,
AttributeMap attributes)
Factory method that creates a new end state, a state where an executing flow session terminates.
|
Flow |
createFlow(java.lang.String id,
AttributeMap attributes)
Factory method that creates a new
Flow definition object. |
State |
createSubflowState(java.lang.String id,
Flow flow,
Action[] entryActions,
Expression subflow,
SubflowAttributeMapper attributeMapper,
Transition[] transitions,
FlowExecutionExceptionHandler[] exceptionHandlers,
Action[] exitActions,
AttributeMap attributes)
Factory method that creates a new subflow state, a state where a parent flow spawns another flow as a subflow.
|
Transition |
createTransition(TargetStateResolver targetStateResolver,
TransitionCriteria matchingCriteria,
TransitionCriteria executionCriteria,
AttributeMap attributes)
Factory method that creates a new transition, a path from one step in a flow to another.
|
State |
createViewState(java.lang.String id,
Flow flow,
ViewVariable[] variables,
Action[] entryActions,
ViewFactory viewFactory,
java.lang.Boolean redirect,
boolean popup,
Action[] renderActions,
Transition[] transitions,
FlowExecutionExceptionHandler[] exceptionHandlers,
Action[] exitActions,
AttributeMap attributes)
Factory method that creates a new view state, a state where a user is allowed to participate in the flow.
|
public Flow createFlow(java.lang.String id, AttributeMap attributes)
Flow
definition object.
Note this method does not return a fully configured Flow instance, it only encapsulates the selection of
implementation. A FlowAssembler
delegating to a calling FlowBuilder
is expected to assemble the
Flow fully before returning it to external clients.
id
- the flow identifier, should be unique to all flows in an application (required)attributes
- attributes to assign to the Flow, which may also be used to affect flow construction; may be
nullpublic State createViewState(java.lang.String id, Flow flow, ViewVariable[] variables, Action[] entryActions, ViewFactory viewFactory, java.lang.Boolean redirect, boolean popup, Action[] renderActions, Transition[] transitions, FlowExecutionExceptionHandler[] exceptionHandlers, Action[] exitActions, AttributeMap attributes)
id
- the identifier to assign to the state, must be unique to its owning flow (required)flow
- the flow that will own (contain) this state (required)entryActions
- any state entry actions; may be nullviewFactory
- the state view factory strategyredirect
- whether to send a flow execution redirect before renderingpopup
- whether to display the view in a popup windowrenderActions
- any 'render actions' to execute on entry and refresh; may be nulltransitions
- any transitions (paths) out of this state; may be nullexceptionHandlers
- any exception handlers; may be nullexitActions
- any state exit actions; may be nullattributes
- attributes to assign to the State, which may also be used to affect state construction; may be
nullpublic State createActionState(java.lang.String id, Flow flow, Action[] entryActions, Action[] actions, Transition[] transitions, FlowExecutionExceptionHandler[] exceptionHandlers, Action[] exitActions, AttributeMap attributes)
id
- the identifier to assign to the state, must be unique to its owning flow (required)flow
- the flow that will own (contain) this state (required)entryActions
- any state entry actions; may be nullactions
- the actions to execute when the state is entered (required)transitions
- any transitions (paths) out of this state; may be nullexceptionHandlers
- any exception handlers; may be nullexitActions
- any state exit actions; may be nullattributes
- attributes to assign to the State, which may also be used to affect state construction; may be
nullpublic State createDecisionState(java.lang.String id, Flow flow, Action[] entryActions, Transition[] transitions, FlowExecutionExceptionHandler[] exceptionHandlers, Action[] exitActions, AttributeMap attributes)
id
- the identifier to assign to the state, must be unique to its owning flow (required)flow
- the flow that will own (contain) this state (required)entryActions
- any state entry actions; may be nulltransitions
- any transitions (paths) out of this stateexceptionHandlers
- any exception handlers; may be nullexitActions
- any state exit actions; may be nullattributes
- attributes to assign to the State, which may also be used to affect state construction; may be
nullpublic State createSubflowState(java.lang.String id, Flow flow, Action[] entryActions, Expression subflow, SubflowAttributeMapper attributeMapper, Transition[] transitions, FlowExecutionExceptionHandler[] exceptionHandlers, Action[] exitActions, AttributeMap attributes)
id
- the identifier to assign to the state, must be unique to its owning flow (required)flow
- the flow that will own (contain) this state (required)entryActions
- any state entry actions; may be nullsubflow
- the subflow definition (required)attributeMapper
- the subflow input and output attribute mapper; may be nulltransitions
- any transitions (paths) out of this stateexceptionHandlers
- any exception handlers; may be nullexitActions
- any state exit actions; may be nullattributes
- attributes to assign to the State, which may also be used to affect state construction; may be
nullpublic State createEndState(java.lang.String id, Flow flow, Action[] entryActions, Action finalResponseAction, Mapper outputMapper, FlowExecutionExceptionHandler[] exceptionHandlers, AttributeMap attributes)
id
- the identifier to assign to the state, must be unique to its owning flow (required)flow
- the flow that will own (contain) this state (required)entryActions
- any state entry actions; may be nullfinalResponseAction
- the state response renderer; may be nulloutputMapper
- the state output mapper; may be nullexceptionHandlers
- any exception handlers; may be nullattributes
- attributes to assign to the State, which may also be used to affect state construction; may be
nullpublic Transition createTransition(TargetStateResolver targetStateResolver, TransitionCriteria matchingCriteria, TransitionCriteria executionCriteria, AttributeMap attributes)
targetStateResolver
- the resolver of the target state of the transition (required)matchingCriteria
- the criteria that matches the transition; may be nullexecutionCriteria
- the criteria that governs execution of the transition after match; may be nullattributes
- attributes to assign to the transition, which may also be used to affect transition
construction; may be null