org.springframework.webflow.engine
Class SubflowState
java.lang.Object
org.springframework.webflow.core.AnnotatedObject
org.springframework.webflow.engine.State
org.springframework.webflow.engine.TransitionableState
org.springframework.webflow.engine.SubflowState
- All Implemented Interfaces:
- Annotated, StateDefinition, TransitionableStateDefinition
public class SubflowState
- extends TransitionableState
A transitionable state that spawns a subflow when executed. When the subflow this state spawns ends, the ending
result is used as grounds for a state transition out of this state.
A subflow state may be configured to map input data from its flow -- acting as the parent flow -- down to the subflow
when the subflow is spawned. In addition, output data produced by the subflow may be mapped up to the parent flow
when the subflow ends and the parent flow resumes. See the SubflowAttributeMapper
interface definition for
more information on how to do this. The logic for ending a subflow is located in the EndState
implementation.
- Author:
- Keith Donald, Erwin Vervaet
- See Also:
SubflowAttributeMapper
,
EndState
Methods inherited from class org.springframework.webflow.engine.State |
enter, equals, getEntryActionList, getExceptionHandlerSet, getFlow, getId, getOwner, handleException, hashCode, isStartState, isViewState, toString |
SubflowState
public SubflowState(Flow flow,
String id,
Expression subflow)
throws IllegalArgumentException
- Create a new subflow state.
- Parameters:
flow
- the owning flowid
- the state identifier (must be unique to the flow)subflow
- the subflow to spawn
- Throws:
IllegalArgumentException
- when this state cannot be added to given flow, e.g. because the id is not unique- See Also:
setAttributeMapper(SubflowAttributeMapper)
setAttributeMapper
public void setAttributeMapper(SubflowAttributeMapper attributeMapper)
- Set the attribute mapper used to map model data between the parent and child flow.
handleEvent
public boolean handleEvent(RequestControlContext context)
- Called on completion of the subflow to handle the subflow result event as determined by the end state reached by
the subflow.
- Overrides:
handleEvent
in class TransitionableState
- Parameters:
context
- the flow execution control context