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

## com.opensymphony.xwork2
Class ActionChainResult

    java.lang.Object
      com.opensymphony.xwork2.ActionChainResult

All Implemented Interfaces:
  Result, Serializable

    public class ActionChainResult

extends 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:

- actionName (default) - the name of the action that will be chained to
- namespace - used to determine which namespace the Action is in that we're chaining. If namespace is null, this defaults to the current namespace
- method - used to specify another method on target action to be invoked. If null, this defaults to execute method
- skipActions - (optional) the list of comma separated action names for the actions that could be chained to

Example:

     <package name="public" extends="webwork-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="webwork-default" namespace="/secure">
         <action name="dashboard" class="...">
             <result>dashboard.jsp</result>
         </action>
     </package>

Author:
  Alexandru Popescu
See Also:
  Serialized Form

Field Summary
`private String` | `actionName`
`private ActionProxyFactory` | `actionProxyFactory`
`private static String` | `CHAIN_HISTORY` The action context key to save the chain history.
`static String` | `DEFAULT_PARAM` The result parameter name to set the name of the action to chain to.
`private static Log` | `log`
`private String` | `methodName`
`private String` | `namespace`
`private ActionProxy` | `proxy`
`static String` | `SKIP_ACTIONS_PARAM` The result parameter name to set the name of the action to chain to.
`private String` | `skipActions` The list of actions to skip.

Constructor Summary
`ActionChainResult()`
`ActionChainResult(String namespace, String actionName, String methodName)`
`ActionChainResult(String namespace, String actionName, String methodName, String skipActions)`

Method Summary
`private void` | `addToHistory(String namespace, String actionName, String methodName)`
`boolean` | `equals(Object o)`
`void` | `execute(ActionInvocation invocation)` Represents a generic interface for all action execution results, whether that be displaying a webpage, generating an email, sending a JMS message, etc.
`static LinkedList` | `getChainHistory()` Get the XWork chain history.
`ActionProxy` | `getProxy()`
`int` | `hashCode()`
`private boolean` | `isInChainHistory(String namespace, String actionName, String methodName)`
`private String` | `makeKey(String namespace, String actionName, String methodName)`
`void` | `setActionName(String actionName)` Set the action name.
`void` | `setActionProxyFactory(ActionProxyFactory actionProxyFactory)`
`void` | `setMethod(String method)`
`void` | `setNamespace(String namespace)` sets the namespace of the Action that we're chaining to.
`void` | `setSkipActions(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

### log

    private static final Log log

### DEFAULT_PARAM

    public static final String DEFAULT_PARAM

  The result parameter name to set the name of the action to chain to.

  See Also:
    Constant Field Values

### CHAIN_HISTORY

    private static final String CHAIN_HISTORY

  The action context key to save the chain history.

  See Also:
    Constant Field Values

### SKIP_ACTIONS_PARAM

    public static final String SKIP_ACTIONS_PARAM

  The result parameter name to set the name of the action to chain to.

  See Also:
    Constant Field Values

### proxy

    private ActionProxy proxy

### actionName

    private String actionName

### namespace

    private String namespace

### methodName

    private String methodName

### skipActions

    private String skipActions

  The list of actions to skip.

### actionProxyFactory

    private ActionProxyFactory actionProxyFactory

Constructor Detail

### ActionChainResult

    public ActionChainResult()

### ActionChainResult

    public ActionChainResult(String namespace,
                             String actionName,
                             String methodName)

### ActionChainResult

    public ActionChainResult(String namespace,
                             String actionName,
                             String methodName,
                             String skipActions)

Method Detail

### setActionProxyFactory

    public void setActionProxyFactory(ActionProxyFactory actionProxyFactory)

  Parameters:
    `actionProxyFactory` - the actionProxyFactory to set

### setActionName

    public void setActionName(String actionName)

  Set the action name.

  Parameters:
    `actionName` - The action name.

### setNamespace

    public void setNamespace(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(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(String method)

### getProxy

    public ActionProxy getProxy()

### getChainHistory

    public static LinkedList getChainHistory()

  Get the XWork chain history. The stack is a list of `namespace/action!method` keys.

### execute

    public void execute(ActionInvocation invocation)
                 throws 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:
    `Exception`

### equals

    public boolean equals(Object o)

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### isInChainHistory

    private boolean isInChainHistory(String namespace,
                                     String actionName,
                                     String methodName)

### addToHistory

    private void addToHistory(String namespace,
                              String actionName,
                              String methodName)

### makeKey

    private String makeKey(String namespace,
                           String actionName,
                           String methodName)

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

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