Class MockActionInvocation
- All Implemented Interfaces:
ActionInvocation
ActionInvocation
.- Version:
- $Id$
- Author:
- plightbo, Rainer Hermanns, tm_jee
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addPreResultListener
(PreResultListener listener) Register aPreResultListener
to be notified after the Action is executed and before the Result is executed.Get the Action associated with this ActionInvocation.Gets the ActionContext associated with this ActionInvocation.getProxy()
Get the ActionProxy holding this ActionInvocation.If the ActionInvocation has been executed before and the Result is an instance ofActionChainResult
, this method will walk down the chain ofActionChainResult
s until it finds a non-chain result, which will be returned.Gets the result code returned from this ActionInvocation.getStack()
Gets the ValueStack associated with this ActionInvocation.void
init
(ActionProxy proxy) invoke()
Invokes the next step in processing this ActionInvocation.Invokes only the Action (not Interceptors or Results).boolean
Gets whether this ActionInvocation has executed before.void
void
setActionEventListener
(ActionEventListener listener) Sets the action event listener to respond to key action events.void
setInvocationContext
(ActionContext invocationContext) void
setProxy
(ActionProxy proxy) void
void
setResultCode
(String resultCode) Sets the result code, possibly overriding the one returned by the action.void
setStack
(ValueStack stack)
-
Constructor Details
-
MockActionInvocation
public MockActionInvocation()
-
-
Method Details
-
getAction
Description copied from interface:ActionInvocation
Get the Action associated with this ActionInvocation.- Specified by:
getAction
in interfaceActionInvocation
- Returns:
- the Action
-
setAction
-
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 interfaceActionInvocation
- Returns:
- the ActionContext.
-
setInvocationContext
-
getProxy
Description copied from interface:ActionInvocation
Get the ActionProxy holding this ActionInvocation.- Specified by:
getProxy
in interfaceActionInvocation
- Returns:
- the ActionProxy.
-
setProxy
-
getResult
Description copied from interface:ActionInvocation
If the ActionInvocation has been executed before and the Result is an instance ofActionChainResult
, this method will walk down the chain ofActionChainResult
s 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 interfaceActionInvocation
- Returns:
- the result.
-
setResult
-
getResultCode
Description copied from interface:ActionInvocation
Gets the result code returned from this ActionInvocation.- Specified by:
getResultCode
in interfaceActionInvocation
- Returns:
- the result code
-
setResultCode
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 opportunity.If this method is called after the Result has been executed, it will have the effect of raising an IllegalStateException.
- Specified by:
setResultCode
in interfaceActionInvocation
- Parameters:
resultCode
- the result code.- See Also:
-
getStack
Description copied from interface:ActionInvocation
Gets the ValueStack associated with this ActionInvocation.- Specified by:
getStack
in interfaceActionInvocation
- Returns:
- the ValueStack
-
setStack
-
isExecuted
public boolean isExecuted()Description copied from interface:ActionInvocation
Gets whether this ActionInvocation has executed before. This will be set after the Action and the Result have executed.- Specified by:
isExecuted
in interfaceActionInvocation
- Returns:
- true if this ActionInvocation has executed before.
-
addPreResultListener
Description copied from interface:ActionInvocation
Register aPreResultListener
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 interfaceActionInvocation
- Parameters:
listener
- the listener to add.
-
invoke
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 interfaceActionInvocation
- Returns:
- the return code.
- Throws:
Exception
- can be thrown.
-
invokeActionOnly
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 interfaceActionInvocation
- Returns:
- the return code.
- Throws:
Exception
- can be thrown.
-
setActionEventListener
Description copied from interface:ActionInvocation
Sets the action event listener to respond to key action events.- Specified by:
setActionEventListener
in interfaceActionInvocation
- Parameters:
listener
- the listener.
-
getActionEventListener
-
init
- Specified by:
init
in interfaceActionInvocation
-