com.opensymphony.xwork2

## Class DefaultActionProxy

- java.lang.Object
- - com.opensymphony.xwork2.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

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.opensymphony.xwork2.ActionProxy

      `ActionProxy.LegacyAdapter`

  - ### Field Summary

    Fields
    Modifier and Type | Field and 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 and 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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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`

    - ### Methods inherited from interface com.opensymphony.xwork2.ActionProxy

      `adapt`

- - ### Field Detail

    - #### 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 Detail

    - #### 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 Detail

    - #### 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. Returns `true` when the method was explicitly provided (e.g. via URL parameter, wildcard substitution, or action configuration), and `false` only when the framework defaults to `"execute"` because no method was specified anywhere.
      Specified by:
        `isMethodSpecified` in interface `ActionProxy`
      Returns:
        true if the method returned by getMethod() is not the default "execute" fallback.

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.