public interface ActionInvocation extends Serializable
ActionInvocation
represents the execution state of an Action
. It holds the Interceptors and the Action instance.
By repeated re-entrant execution of the invoke()
method, initially by the ActionProxy
, then by the Interceptors, the
Interceptors are all executed, and then the Action
and the Result
.ActionProxy
Modifier and Type | Method and Description |
---|---|
void |
addPreResultListener(PreResultListener listener)
Register a
PreResultListener to be notified after the Action is executed and
before the Result is executed. |
ActionInvocation |
deserialize(ActionContext actionContext)
Performs opposite process to restore back ActionInvocation after deserialisation
|
Object |
getAction()
Get the Action associated with this ActionInvocation.
|
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 ActionChainResult s until it finds a non-chain result, which will be returned. |
String |
getResultCode()
Gets the result code returned from this ActionInvocation.
|
ValueStack |
getStack()
Gets the ValueStack associated with this ActionInvocation.
|
void |
init(ActionProxy proxy) |
String |
invoke()
Invokes the next step in processing this ActionInvocation.
|
String |
invokeActionOnly()
Invokes only the Action (not Interceptors or Results).
|
boolean |
isExecuted()
Gets whether this ActionInvocation has executed before.
|
ActionInvocation |
serialize()
Prepares instance of ActionInvocation to be serializable,
which simple means removing all unserializable fields, eg.
|
void |
setActionEventListener(ActionEventListener listener)
Sets the action event listener to respond to key action events.
|
void |
setResultCode(String resultCode)
Sets the result code, possibly overriding the one returned by the
action.
|
Object getAction()
boolean isExecuted()
ActionContext getInvocationContext()
ActionProxy getProxy()
Result getResult() throws Exception
ActionChainResult
, this method
will walk down the chain of ActionChainResult
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.Exception
- can be thrown.String getResultCode()
void setResultCode(String resultCode)
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 IllegalStateException.resultCode
- the result code.IllegalStateException
- if called after the Result has been executed.isExecuted()
ValueStack getStack()
void addPreResultListener(PreResultListener listener)
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.listener
- the listener to add.String invoke() throws Exception
ActionProxy.getExecuteResult()
method returns true, the Result is also executed.Exception
- can be thrown.String invokeActionOnly() throws Exception
Exception
- can be thrown.void setActionEventListener(ActionEventListener listener)
listener
- the listener.void init(ActionProxy proxy)
ActionInvocation serialize()
ActionInvocation deserialize(ActionContext actionContext)
actionContext
- current ActionContext
Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.