Package org.apache.struts2

# Class DefaultActionProxy

java.lang.Object
org.apache.struts2.DefaultActionProxy

All Implemented Interfaces:
  `Serializable`, `ActionProxy`

Direct Known Subclasses:
  `StrutsActionProxy`

public class DefaultActionProxy extends Object implements ActionProxy, Serializable
The Default ActionProxy implementation

Since:
  2005-8-6
Author:
  Rainer Hermanns, Revised by Henry Hu, tmjee
See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected ActionEventListener`
  `actionEventListener`
  `protected String`
  `actionName`
  `protected boolean`
  `cleanupContext`
  `protected ActionConfig`
  `config`
  `protected Configuration`
  `configuration`
  `protected boolean`
  `executeResult`
  `protected ActionInvocation`
  `invocation`
  `protected LocalizedTextProvider`
  `localizedTextProvider`
  `protected String`
  `method`
  `protected String`
  `namespace`
  `protected ObjectFactory`
  `objectFactory`
  `protected UnknownHandlerManager`
  `unknownHandlerManager`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `DefaultActionProxy(ActionInvocation inv, String namespace, String actionName, String methodName, boolean executeResult, boolean cleanupContext)`
  This constructor is private so the builder methods (create*) should be used to create an DefaultActionProxy.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `execute()`
  Execute this ActionProxy.
  `Object`
  `getAction()`
  Gets the Action instance for this Proxy.
  `String`
  `getActionName()`
  Gets the alias name this ActionProxy is mapped to.
  `ActionConfig`
  `getConfig()`
  Gets the ActionConfig this ActionProxy is built from.
  `protected String`
  `getErrorMessage()`
  `boolean`
  `getExecuteResult()`
  Gets the status of whether the ActionProxy is set to execute the Result after the Action is executed.
  `ActionInvocation`
  `getInvocation()`
  `String`
  `getMethod()`
  Gets the method name to execute, or `null` if no method has been specified (meaning `execute` will be invoked).
  `String`
  `getNamespace()`
  Gets the namespace the ActionConfig for this ActionProxy is mapped to.
  `boolean`
  `isMethodSpecified()`
  Gets status of the method value's initialization.
  `protected void`
  `prepare()`
  `protected String`
  `prepareNotAllowedErrorMessage()`
  `void`
  `setActionEventListener(ActionEventListener listener)`
  `void`
  `setConfiguration(Configuration config)`
  `void`
  `setExecuteResult(boolean executeResult)`
  Sets whether this ActionProxy should also execute the Result after executing the Action.
  `void`
  `setLocalizedTextProvider(LocalizedTextProvider localizedTextProvider)`
  `void`
  `setObjectFactory(ObjectFactory factory)`
  `void`
  `setUnknownHandler(UnknownHandlerManager unknownHandlerManager)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### configuration

    protected Configuration configuration

  - ### config

    protected ActionConfig config

  - ### invocation

    protected ActionInvocation invocation

  - ### unknownHandlerManager

    protected UnknownHandlerManager unknownHandlerManager

  - ### localizedTextProvider

    protected LocalizedTextProvider localizedTextProvider

  - ### actionName

    protected String actionName

  - ### namespace

    protected String namespace

  - ### method

    protected String method

  - ### executeResult

    protected boolean executeResult

  - ### cleanupContext

    protected boolean cleanupContext

  - ### objectFactory

    protected ObjectFactory objectFactory

  - ### actionEventListener

    protected ActionEventListener actionEventListener

- ## Constructor Details

  - ### DefaultActionProxy

    protected DefaultActionProxy(ActionInvocation inv, String namespace, String actionName, String methodName, boolean executeResult, boolean cleanupContext)
    This constructor is private so the builder methods (create*) should be used to create an DefaultActionProxy.

    The reason for the builder methods is so that you can use a subclass to create your own DefaultActionProxy instance

    (like a RMIActionProxy).
    Parameters:
      `inv` - the action invocation
      `namespace` - the namespace
      `actionName` - the action name
      `methodName` - the method name
      `executeResult` - execute result
      `cleanupContext` - cleanup context

- ## Method Details

  - ### setObjectFactory

    public void setObjectFactory(ObjectFactory factory)

  - ### setConfiguration

    public void setConfiguration(Configuration config)

  - ### setUnknownHandler

    public void setUnknownHandler(UnknownHandlerManager unknownHandlerManager)

  - ### setActionEventListener

    public void setActionEventListener(ActionEventListener listener)

  - ### setLocalizedTextProvider

    public void setLocalizedTextProvider(LocalizedTextProvider localizedTextProvider)

  - ### getAction

    public Object getAction()
    Description copied from interface: `ActionProxy`
    Gets the Action instance for this Proxy.
    Specified by:
      `getAction` in interface `ActionProxy`
    Returns:
      the Action instance

  - ### getActionName

    public String getActionName()
    Description copied from interface: `ActionProxy`
    Gets the alias name this ActionProxy is mapped to.
    Specified by:
      `getActionName` in interface `ActionProxy`
    Returns:
      the alias name

  - ### getConfig

    public ActionConfig getConfig()
    Description copied from interface: `ActionProxy`
    Gets the ActionConfig this ActionProxy is built from.
    Specified by:
      `getConfig` in interface `ActionProxy`
    Returns:
      the ActionConfig

  - ### setExecuteResult

    public void setExecuteResult(boolean executeResult)
    Description copied from interface: `ActionProxy`
    Sets whether this ActionProxy should also execute the Result after executing the Action.
    Specified by:
      `setExecuteResult` in interface `ActionProxy`
    Parameters:
      `executeResult` - `true` to also execute the Result.

  - ### getExecuteResult

    public boolean getExecuteResult()
    Description copied from interface: `ActionProxy`
    Gets the status of whether the ActionProxy is set to execute the Result after the Action is executed.
    Specified by:
      `getExecuteResult` in interface `ActionProxy`
    Returns:
      the status

  - ### getInvocation

    public ActionInvocation getInvocation()
    Specified by:
      `getInvocation` in interface `ActionProxy`

  - ### getNamespace

    public String getNamespace()
    Description copied from interface: `ActionProxy`
    Gets the namespace the ActionConfig for this ActionProxy is mapped to.
    Specified by:
      `getNamespace` in interface `ActionProxy`
    Returns:
      the namespace

  - ### execute

    public String execute() throws Exception
    Description copied from interface: `ActionProxy`
    Execute this ActionProxy. This will set the ActionContext from the ActionInvocation into the ActionContext ThreadLocal before invoking the ActionInvocation, then set the old ActionContext back into the ThreadLocal.
    Specified by:
      `execute` in interface `ActionProxy`
    Returns:
      the result code returned from executing the ActionInvocation
    Throws:
      `Exception` - can be thrown.
    See Also:
      - `ActionInvocation`

  - ### getMethod

    public String getMethod()
    Description copied from interface: `ActionProxy`
    Gets the method name to execute, or `null` if no method has been specified (meaning `execute` will be invoked).
    Specified by:
      `getMethod` in interface `ActionProxy`
    Returns:
      the method to execute

  - ### prepare

    protected void prepare()

  - ### prepareNotAllowedErrorMessage

    protected String prepareNotAllowedErrorMessage()

  - ### getErrorMessage

    protected String getErrorMessage()

  - ### isMethodSpecified

    public boolean isMethodSpecified()
    Description copied from interface: `ActionProxy`
    Gets status of the method value's initialization.
    Specified by:
      `isMethodSpecified` in interface `ActionProxy`
    Returns:
      true if the method returned by getMethod() is not a default initializer value.