com.opensymphony.xwork2.mock
Class MockActionInvocation

java.lang.Object
  extended by com.opensymphony.xwork2.mock.MockActionInvocation
All Implemented Interfaces:
ActionInvocation, Serializable
Direct Known Subclasses:
MockActionInvocation

public class MockActionInvocation
extends Object
implements ActionInvocation

Mock for an ActionInvocation.

Version:
$Id: MockActionInvocation.java 1269 2006-12-13 06:17:15Z mrdon $
Author:
plightbo, Rainer Hermanns, tm_jee
See Also:
Serialized Form

Field Summary
private  Object action
           
private  ActionEventListener actionEventListener
           
private  ActionContext invocationContext
           
private  List preResultListeners
           
private  ActionProxy proxy
           
private  Result result
           
private  String resultCode
           
private  ValueStack stack
           
 
Constructor Summary
MockActionInvocation()
           
 
Method Summary
 void addPreResultListener(PreResultListener listener)
          Register a com.opensymphony.xwork2.interceptor.PreResultListener to be notified after the Action is executed and before the Result is executed.
 Object getAction()
          Get the Action associated with this ActionInvocation
 ActionEventListener getActionEventListener()
           
 ActionContext getInvocationContext()
          Gets the ActionContext associated with this ActionInvocation.
 ActionProxy getProxy()
          Get the ActionProxy holding this ActionInvocation
 Result getResult()
          If the ActionInvocation has been executed before and the Result is an instance of ActionChainResult, this method will walk down the chain of ActionChainResults until it finds a non-chain result, which will be returned.
 String getResultCode()
          Gets the result code returned from this ActionInvocation
 ValueStack getStack()
           
 String invoke()
          Invokes the next step in processing this ActionInvocation.
 String invokeActionOnly()
          Invokes only the action (not interceptors or results).
 boolean isExecuted()
           
 void setAction(Object action)
           
 void setActionEventListener(ActionEventListener listener)
          Sets the action event listener to respond to key action events
 void setInvocationContext(ActionContext invocationContext)
           
 void setProxy(ActionProxy proxy)
           
 void setResult(Result result)
           
 void setResultCode(String resultCode)
          Sets the result code, possibly overriding the one returned by the action.
 void setStack(ValueStack stack)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

action

private Object action

invocationContext

private ActionContext invocationContext

actionEventListener

private ActionEventListener actionEventListener

proxy

private ActionProxy proxy

result

private Result result

resultCode

private String resultCode

stack

private ValueStack stack

preResultListeners

private List preResultListeners
Constructor Detail

MockActionInvocation

public MockActionInvocation()
Method Detail

getAction

public Object getAction()
Description copied from interface: ActionInvocation
Get the Action associated with this ActionInvocation

Specified by:
getAction in interface ActionInvocation

setAction

public void setAction(Object action)

getInvocationContext

public ActionContext getInvocationContext()
Description copied from interface: ActionInvocation
Gets the ActionContext associated with this ActionInvocation. The ActionProxy is responsible for setting this ActionContext onto the ThreadLocal before invoking the ActionInvocation and resetting the old ActionContext afterwards.

Specified by:
getInvocationContext in interface ActionInvocation

setInvocationContext

public void setInvocationContext(ActionContext invocationContext)

getProxy

public ActionProxy getProxy()
Description copied from interface: ActionInvocation
Get the ActionProxy holding this ActionInvocation

Specified by:
getProxy in interface ActionInvocation

setProxy

public void setProxy(ActionProxy proxy)

getResult

public Result getResult()
Description copied from interface: ActionInvocation
If the ActionInvocation has been executed before and the Result is an instance of ActionChainResult, this method will walk down the chain of ActionChainResults until it finds a non-chain result, which will be returned. If the ActionInvocation's result has not been executed before, the Result instance will be created and populated with the result params.

Specified by:
getResult in interface ActionInvocation
Returns:
a Result instance

setResult

public void setResult(Result result)

getResultCode

public String getResultCode()
Description copied from interface: ActionInvocation
Gets the result code returned from this ActionInvocation

Specified by:
getResultCode in interface ActionInvocation

setResultCode

public void setResultCode(String resultCode)
Description copied from interface: ActionInvocation
Sets the result code, possibly overriding the one returned by the action.

The "intended" purpose of this method is to allow PreResultListeners to override the result code returned by the Action.

If this method is used before the Action executes, the Action's returned result code will override what was set. However the Action could (if specifically coded to do so) inspect the ActionInvocation to see that someone "upstream" (e.g. an Interceptor) had suggested a value as the result, and it could therefore return the same value itself.

If this method is called between the Action execution and the Result execution, then the value set here will override the result code the action had returned. Creating an Interceptor that implements PreResultListener will give you this oportunity.

If this method is called after the Result has been executed, it will have the effect of raising an exception.

Specified by:
setResultCode in interface ActionInvocation
See Also:
ActionInvocation.isExecuted()

getStack

public ValueStack getStack()
Specified by:
getStack in interface ActionInvocation
Returns:
the ValueStack associated with this ActionInvocation

setStack

public void setStack(ValueStack stack)

isExecuted

public boolean isExecuted()
Specified by:
isExecuted in interface ActionInvocation
Returns:
whether this ActionInvocation has executed before. This will be set after the Action and the Result have executed.

addPreResultListener

public void addPreResultListener(PreResultListener listener)
Description copied from interface: ActionInvocation
Register a com.opensymphony.xwork2.interceptor.PreResultListener to be notified after the Action is executed and before the Result is executed. The ActionInvocation implementation must guarantee that listeners will be called in the order in which they are registered. Listener registration and execution does not need to be thread-safe.

Specified by:
addPreResultListener in interface ActionInvocation

invoke

public String invoke()
              throws Exception
Description copied from interface: ActionInvocation
Invokes the next step in processing this ActionInvocation. If there are more Interceptors, this will call the next one. If Interceptors choose not to short-circuit ActionInvocation processing and return their own return code, they will call invoke() to allow the next Interceptor to execute. If there are no more Interceptors to be applied, the Action is executed. If the ActionProxy getExecuteResult() method returns true, the Result is also executed.

Specified by:
invoke in interface ActionInvocation
Throws:
Exception

invokeActionOnly

public String invokeActionOnly()
                        throws Exception
Description copied from interface: ActionInvocation
Invokes only the action (not interceptors or results). This is useful in rare situations where advanced usage with the interceptor/action/result workflow is being manipulated for certain functionality.

Specified by:
invokeActionOnly in interface ActionInvocation
Throws:
Exception

setActionEventListener

public void setActionEventListener(ActionEventListener listener)
Description copied from interface: ActionInvocation
Sets the action event listener to respond to key action events

Specified by:
setActionEventListener in interface ActionInvocation

getActionEventListener

public ActionEventListener getActionEventListener()


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