Spring Web Flow

org.springframework.webflow.action
Class CompositeAction

java.lang.Object
  extended by org.springframework.webflow.action.AbstractAction
      extended by org.springframework.webflow.action.CompositeAction
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean, Action

public class CompositeAction
extends AbstractAction

An action that will execute an ordered chain of other actions when executed.

The event id of the last not-null result returned by the executed actions will be used as the result event id of the composite action. Lacking that, the action will return the "success" event.

The resulting event will have an "actionResults" event attribute with a list of all events returned by the executed actions, including the null events. This allows you to relate an executed action and its result event by their index in the list.

This is the classic GoF composite design pattern.

Author:
Keith Donald

Field Summary
static java.lang.String ACTION_RESULTS_ATTRIBUTE_NAME
          The resulting event whill have an attribute of this name which holds a list of all events returned by the executed actions.
 
Fields inherited from class org.springframework.webflow.action.AbstractAction
logger
 
Constructor Summary
CompositeAction(Action... actions)
          Create a composite action composed of given actions.
 
Method Summary
 Event doExecute(RequestContext context)
          Template hook method subclasses should override to encapsulate their specific action execution logic.
protected  Action[] getActions()
          Returns the actions contained by this composite action.
 boolean isStopOnError()
          Returns the stop on error flag.
 void setStopOnError(boolean stopOnError)
          Sets the stop on error flag.
 java.lang.String toString()
           
 
Methods inherited from class org.springframework.webflow.action.AbstractAction
afterPropertiesSet, doPostExecute, doPreExecute, error, error, execute, getActionNameForLogging, getEventFactorySupport, initAction, no, result, result, result, result, success, success, yes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ACTION_RESULTS_ATTRIBUTE_NAME

public static final java.lang.String ACTION_RESULTS_ATTRIBUTE_NAME
The resulting event whill have an attribute of this name which holds a list of all events returned by the executed actions. ("actionResults")

See Also:
Constant Field Values
Constructor Detail

CompositeAction

public CompositeAction(Action... actions)
Create a composite action composed of given actions.

Parameters:
actions - the actions
Method Detail

getActions

protected Action[] getActions()
Returns the actions contained by this composite action.

Returns:
the actions

isStopOnError

public boolean isStopOnError()
Returns the stop on error flag.


setStopOnError

public void setStopOnError(boolean stopOnError)
Sets the stop on error flag. This determines whether or not execution should stop with the first action that returns an error event. In the error case, the composite action will also return the "error" event.


doExecute

public Event doExecute(RequestContext context)
                throws java.lang.Exception
Description copied from class: AbstractAction
Template hook method subclasses should override to encapsulate their specific action execution logic.

Specified by:
doExecute in class AbstractAction
Parameters:
context - the action execution context, for accessing and setting data in "flow scope" or "request scope"
Returns:
the action result event
Throws:
java.lang.Exception - an unrecoverable exception occured, either checked or unchecked

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

Spring Web Flow