Spring Web Flow

org.springframework.webflow.test
Class MockFlowSession

java.lang.Object
  extended by org.springframework.webflow.test.MockFlowSession
All Implemented Interfaces:
FlowSession

public class MockFlowSession
extends java.lang.Object
implements FlowSession

Mock implementation of the FlowSession interface.

Author:
Erwin Vervaet
See Also:
FlowSession

Constructor Summary
MockFlowSession()
          Creates a new mock flow session that sets a flow with id "mockFlow" as the 'active flow' in state "mockState".
MockFlowSession(Flow flow)
          Creates a new mock session in a created state for the specified flow definition.
MockFlowSession(Flow flow, AttributeMap<?> input)
          Creates a new mock session for the specified flow definition.
 
Method Summary
 FlowDefinition getDefinition()
          Returns the flow definition backing this session.
 Flow getDefinitionInternal()
          Returns the flow definition of this session.
 FlowSession getParent()
          Returns the parent flow session in the current flow execution, or null if there is no parent flow session.
 MutableAttributeMap<java.lang.Object> getScope()
          Return this session's local attributes; the basis for "flow scope" (flow session scope).
 StateDefinition getState()
          Returns the current state of this flow session.
 State getStateInternal()
          Returns the current state of this session.
 MutableAttributeMap<java.lang.Object> getViewScope()
          Returns a mutable map for data held in "view scope".
 boolean isEmbeddedMode()
          Returns true if the flow session was started in embedded page mode.
 boolean isRoot()
          Returns whether this flow session is the root flow session in the ongoing flow execution.
 void setDefinition(Flow flow)
          Set the flow associated with this flow session.
 void setParent(FlowSession parent)
          Set the parent flow session of this flow session in the ongoing flow execution.
 void setScope(MutableAttributeMap<java.lang.Object> scope)
          Set the scope data maintained by this flow session.
 void setState(State state)
          Set the currently active state.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MockFlowSession

public MockFlowSession()
Creates a new mock flow session that sets a flow with id "mockFlow" as the 'active flow' in state "mockState".


MockFlowSession

public MockFlowSession(Flow flow)
Creates a new mock session in a created state for the specified flow definition.


MockFlowSession

public MockFlowSession(Flow flow,
                       AttributeMap<?> input)
Creates a new mock session for the specified flow definition.

Parameters:
flow - the flow definition for the session
input - initial contents of 'flow scope'
Method Detail

getDefinition

public FlowDefinition getDefinition()
Description copied from interface: FlowSession
Returns the flow definition backing this session.

Specified by:
getDefinition in interface FlowSession

getState

public StateDefinition getState()
Description copied from interface: FlowSession
Returns the current state of this flow session. This value changes as the flow executes.

Specified by:
getState in interface FlowSession

getScope

public MutableAttributeMap<java.lang.Object> getScope()
Description copied from interface: FlowSession
Return this session's local attributes; the basis for "flow scope" (flow session scope).

Specified by:
getScope in interface FlowSession
Returns:
the flow scope attributes

getViewScope

public MutableAttributeMap<java.lang.Object> getViewScope()
                                                   throws java.lang.IllegalStateException
Description copied from interface: FlowSession
Returns a mutable map for data held in "view scope". Attributes in this map are cleared out when the current view state exits.

Specified by:
getViewScope in interface FlowSession
Returns:
view scope
Throws:
java.lang.IllegalStateException - if this flow session is not currently in a view state

isEmbeddedMode

public boolean isEmbeddedMode()
Description copied from interface: FlowSession
Returns true if the flow session was started in embedded page mode. An embedded flow can make different assumptions with regards to whether redirect after post is necessary.

Specified by:
isEmbeddedMode in interface FlowSession

getParent

public FlowSession getParent()
Description copied from interface: FlowSession
Returns the parent flow session in the current flow execution, or null if there is no parent flow session.

Specified by:
getParent in interface FlowSession

isRoot

public boolean isRoot()
Description copied from interface: FlowSession
Returns whether this flow session is the root flow session in the ongoing flow execution. The root flow session does not have a parent flow session.

Specified by:
isRoot in interface FlowSession

setDefinition

public void setDefinition(Flow flow)
Set the flow associated with this flow session.


setState

public void setState(State state)
Set the currently active state.


setScope

public void setScope(MutableAttributeMap<java.lang.Object> scope)
Set the scope data maintained by this flow session. This will be the flow scope data of the ongoing flow execution.


setParent

public void setParent(FlowSession parent)
Set the parent flow session of this flow session in the ongoing flow execution.


getDefinitionInternal

public Flow getDefinitionInternal()
Returns the flow definition of this session.


getStateInternal

public State getStateInternal()
Returns the current state of this session.


Spring Web Flow