Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Web Flow
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.webflow.execution
Interface FlowExecutionContext

All Known Subinterfaces:
  FlowExecution

All Known Implementing Classes:
  FlowExecutionImpl, MockFlowExecutionContext

    public interface FlowExecutionContext

Provides contextual information about a flow execution. A flow execution is an runnable instance of a `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.

Author:
  Keith Donald, Erwin Vervaet
See Also:
  `FlowDefinition`, `FlowSession`, `RequestContext`

Method Summary
`FlowSession` | `getActiveSession()` Returns the active flow session of this flow execution.
`AttributeMap` | `getAttributes()` Returns runtime execution attributes that may influence the behavior of flow artifacts, such as states and actions.
`MutableAttributeMap` | `getConversationScope()` Returns a mutable map for data held in "conversation scope".
`FlowDefinition` | `getDefinition()` Returns the root flow definition associated with this executing flow.
`MutableAttributeMap` | `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.

Method Detail

### getKey

    FlowExecutionKey getKey()

  Returns the key assigned to this flow execution. The flow execution key is the flow execution's persistent identity.

  Returns:
    the flow execution key; may be `null` if a key has not yet been assigned.

### getDefinition

    FlowDefinition getDefinition()

  Returns the root flow definition associated with this executing flow.

  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).

  Returns:
    the root flow definition

### hasStarted

    boolean hasStarted()

  Returns a flag indicating if this execution has been started. A flow execution that has started and is active is currently in progress. A flow execution that has started and is not active has ended.

  Returns:
    true if started, false if not started
  See Also:
    `isActive()`

### isActive

    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.

  Returns:
    true if active, false if the flow execution has terminated or has not yet been started

### hasEnded

    boolean hasEnded()

  Returns a flag indicating if this execution has ended. A flow execution that has ended has been started but is no longer active.

  Returns:
    true if ended, false if not started or still active
  See Also:
    `hasStarted()`, `isActive()`

### getOutcome

    FlowExecutionOutcome getOutcome()

  Returns the outcome reached by this execution, or null if this execution has not yet ended.

  Returns:
    the outcome, or `null` if this execution has not yet ended

### getActiveSession

    FlowSession getActiveSession()
                                 throws java.lang.IllegalStateException

  Returns the active flow session of this flow execution. The active flow session is the currently executing session. It may be the "root flow" session, or it may be a subflow session if this flow execution has spawned a subflow.

  Returns:
    the active flow session
  Throws:
    `java.lang.IllegalStateException` - if this flow execution is not active
  See Also:
    `isActive()`

### getFlashScope

    MutableAttributeMap getFlashScope()

  Returns a mutable map for data held in "flash scope". Attributes in this map are cleared out on the next view rendering. Flash attributes survive flow execution refresh operations.

  Returns:
    flash scope

### getConversationScope

    MutableAttributeMap getConversationScope()

  Returns a mutable map for data held in "conversation scope". Conversation scope is a data structure that exists for the life of this flow execution and is accessible to all flow sessions.

  Returns:
    conversation scope

### getAttributes

    AttributeMap getAttributes()

  Returns runtime execution attributes that may influence the behavior of flow artifacts, such as states and actions.

  Returns:
    execution attributes

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Web Flow
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD