org.springframework.webflow.engine.impl
Class FlowExecutionImplFactory

java.lang.Object
  extended by org.springframework.webflow.engine.impl.FlowExecutionImplFactory
All Implemented Interfaces:
FlowExecutionFactory

public class FlowExecutionImplFactory
extends java.lang.Object
implements FlowExecutionFactory

A factory for instances of the default flow execution implementation.

Author:
Keith Donald

Constructor Summary
FlowExecutionImplFactory()
           
 
Method Summary
 FlowExecution createFlowExecution(FlowDefinition flowDefinition)
          Create a new flow execution product for the given flow definition.
 FlowExecution restoreFlowExecution(FlowExecution flowExecution, FlowDefinition flowDefinition, FlowExecutionKey flowExecutionKey, MutableAttributeMap conversationScope, FlowDefinitionLocator subflowDefinitionLocator)
          Restore the transient state of the flow execution.
 void setExecutionAttributes(AttributeMap executionAttributes)
          Sets the attributes to apply to flow executions created by this factory.
 void setExecutionKeyFactory(FlowExecutionKeyFactory executionKeyFactory)
          Sets the strategy for generating flow execution keys for persistent flow executions.
 void setExecutionListenerLoader(FlowExecutionListenerLoader executionListenerLoader)
          Sets the strategy for loading listeners that should observe executions of a flow definition.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FlowExecutionImplFactory

public FlowExecutionImplFactory()
Method Detail

setExecutionAttributes

public void setExecutionAttributes(AttributeMap executionAttributes)
Sets the attributes to apply to flow executions created by this factory. Execution attributes may affect flow execution behavior.

Parameters:
executionAttributes - flow execution system attributes

setExecutionListenerLoader

public void setExecutionListenerLoader(FlowExecutionListenerLoader executionListenerLoader)
Sets the strategy for loading listeners that should observe executions of a flow definition. Allows full control over what listeners should apply for executions of a flow definition.


setExecutionKeyFactory

public void setExecutionKeyFactory(FlowExecutionKeyFactory executionKeyFactory)
Sets the strategy for generating flow execution keys for persistent flow executions.


createFlowExecution

public FlowExecution createFlowExecution(FlowDefinition flowDefinition)
Description copied from interface: FlowExecutionFactory
Create a new flow execution product for the given flow definition.

Specified by:
createFlowExecution in interface FlowExecutionFactory
Parameters:
flowDefinition - the flow definition
Returns:
the new flow execution, fully initialized and awaiting to be started

restoreFlowExecution

public FlowExecution restoreFlowExecution(FlowExecution flowExecution,
                                          FlowDefinition flowDefinition,
                                          FlowExecutionKey flowExecutionKey,
                                          MutableAttributeMap conversationScope,
                                          FlowDefinitionLocator subflowDefinitionLocator)
Description copied from interface: FlowExecutionFactory
Restore the transient state of the flow execution.

Specified by:
restoreFlowExecution in interface FlowExecutionFactory
Parameters:
flowExecution - the flow execution, newly deserialized and needing restoration
flowDefinition - the root flow definition for the execution, typically not part of the serialized form
flowExecutionKey - the flow execution key, typically not part of the serialized form
conversationScope - the execution's conversation scope, which is typically not part of the serialized form since it could be shared by multiple physical flow execution copies all sharing the same logical conversation
subflowDefinitionLocator - for locating the definitions of any subflows started by the execution
Returns:
the restored flow execution