public interface FlowExecutionContext
FlowDefinition
. It is the central Spring Web Flow construct for carrying out a conversation with a client.
This immutable interface provides access to runtime information about the conversation, such as it's
status
and current state
.
An object implementing this interface is also traversable from a execution request context (see
RequestContext.getFlowExecutionContext()
).
This interface provides information that may span more than one request in a thread safe manner. The
RequestContext
interface defines a request specific control interface for manipulating exactly one
flow execution locally from exactly one request.
FlowDefinition
,
FlowSession
,
RequestContext
Modifier and Type | Method and Description |
---|---|
FlowSession |
getActiveSession()
Returns the active flow session of this flow execution.
|
AttributeMap<java.lang.Object> |
getAttributes()
Returns runtime execution attributes that may influence the behavior of flow artifacts, such as states and
actions.
|
MutableAttributeMap<java.lang.Object> |
getConversationScope()
Returns a mutable map for data held in "conversation scope".
|
FlowDefinition |
getDefinition()
Returns the root flow definition associated with this executing flow.
|
MutableAttributeMap<java.lang.Object> |
getFlashScope()
Returns a mutable map for data held in "flash scope".
|
FlowExecutionKey |
getKey()
Returns the key assigned to this flow execution.
|
FlowExecutionOutcome |
getOutcome()
Returns the outcome reached by this execution, or null if this execution has not yet ended.
|
boolean |
hasEnded()
Returns a flag indicating if this execution has ended.
|
boolean |
hasStarted()
Returns a flag indicating if this execution has been started.
|
boolean |
isActive()
Is the flow execution active? A flow execution is active once it has an
active
session and remains active until it has ended. |
FlowExecutionKey getKey()
null
if a key has not yet been assigned.FlowDefinition getDefinition()
A call to this method always returns the same flow definition -- the top-level "root" -- no matter what flow may actually be active (for example, if subflows have been spawned).
boolean hasStarted()
isActive()
boolean isActive()
active
session
and remains active until it has ended.boolean hasEnded()
hasStarted()
,
isActive()
FlowExecutionOutcome getOutcome()
null
if this execution has not yet endedFlowSession getActiveSession() throws java.lang.IllegalStateException
java.lang.IllegalStateException
- if this flow execution is not activeisActive()
MutableAttributeMap<java.lang.Object> getFlashScope()
MutableAttributeMap<java.lang.Object> getConversationScope()
AttributeMap<java.lang.Object> getAttributes()