com.opensymphony.xwork2
Class ActionChainResult

java.lang.Object
  extended by com.opensymphony.xwork2.ActionChainResult
All Implemented Interfaces:
Result, java.io.Serializable

public class ActionChainResult
extends java.lang.Object
implements Result

This result invokes an entire other action, complete with it's own interceptor stack and result. This result type takes the following parameters:

Example:

 <package name="public" extends="struts-default">
     <!-- Chain creatAccount to login, using the default parameter -->
     <action name="createAccount" class="...">
         <result type="chain">login</result>
     </action>

     <action name="login" class="...">
         <!-- Chain to another namespace -->
         <result type="chain">
             <param name="actionName">dashboard</param>
             <param name="namespace">/secure</param>
         </result>
     </action>
 </package>

 <package name="secure" extends="struts-default" namespace="/secure">
     <action name="dashboard" class="...">
         <result>dashboard.jsp</result>
     </action>
 </package>
 

Author:
Alexandru Popescu
See Also:
Serialized Form

Field Summary
static java.lang.String DEFAULT_PARAM
          The result parameter name to set the name of the action to chain to.
static java.lang.String SKIP_ACTIONS_PARAM
          The result parameter name to set the name of the action to chain to.
 
Constructor Summary
ActionChainResult()
           
ActionChainResult(java.lang.String namespace, java.lang.String actionName, java.lang.String methodName)
           
ActionChainResult(java.lang.String namespace, java.lang.String actionName, java.lang.String methodName, java.lang.String skipActions)
           
 
Method Summary
 boolean equals(java.lang.Object o)
           
 void execute(ActionInvocation invocation)
          Represents a generic interface for all action execution results.
static java.util.LinkedList<java.lang.String> getChainHistory()
          Get the XWork chain history.
 ActionProxy getProxy()
           
 int hashCode()
           
 void setActionName(java.lang.String actionName)
          Set the action name.
 void setActionProxyFactory(ActionProxyFactory actionProxyFactory)
           
 void setMethod(java.lang.String method)
           
 void setNamespace(java.lang.String namespace)
          sets the namespace of the Action that we're chaining to.
 void setSkipActions(java.lang.String actions)
          Set the list of actions to skip.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_PARAM

public static final java.lang.String DEFAULT_PARAM
The result parameter name to set the name of the action to chain to.

See Also:
Constant Field Values

SKIP_ACTIONS_PARAM

public static final java.lang.String SKIP_ACTIONS_PARAM
The result parameter name to set the name of the action to chain to.

See Also:
Constant Field Values
Constructor Detail

ActionChainResult

public ActionChainResult()

ActionChainResult

public ActionChainResult(java.lang.String namespace,
                         java.lang.String actionName,
                         java.lang.String methodName)

ActionChainResult

public ActionChainResult(java.lang.String namespace,
                         java.lang.String actionName,
                         java.lang.String methodName,
                         java.lang.String skipActions)
Method Detail

setActionProxyFactory

public void setActionProxyFactory(ActionProxyFactory actionProxyFactory)
Parameters:
actionProxyFactory - the actionProxyFactory to set

setActionName

public void setActionName(java.lang.String actionName)
Set the action name.

Parameters:
actionName - The action name.

setNamespace

public void setNamespace(java.lang.String namespace)
sets the namespace of the Action that we're chaining to. if namespace is null, this defaults to the current namespace.

Parameters:
namespace - the name of the namespace we're chaining to

setSkipActions

public void setSkipActions(java.lang.String actions)
Set the list of actions to skip. To test if an action should not throe an infinite recursion, only the action name is used, not the namespace.

Parameters:
actions - The list of action name separated by a white space.

setMethod

public void setMethod(java.lang.String method)

getProxy

public ActionProxy getProxy()

getChainHistory

public static java.util.LinkedList<java.lang.String> getChainHistory()
Get the XWork chain history. The stack is a list of namespace/action!method keys.


execute

public void execute(ActionInvocation invocation)
             throws java.lang.Exception
Description copied from interface: Result
Represents a generic interface for all action execution results. Whether that be displaying a webpage, generating an email, sending a JMS message, etc.

Specified by:
execute in interface Result
Parameters:
invocation - the DefaultActionInvocation calling the action call stack
Throws:
java.lang.Exception - can be thrown.

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object


Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.