Class DefaultActionInvocation
- All Implemented Interfaces:
- ActionInvocation
- Version:
- $Date$ $Id$
- Author:
- Rainer Hermanns, tmjee
- See Also:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected Objectprotected ActionEventListenerprotected Callable<?>protected AsyncManagerprotected Containerprotected booleanprotected Resultprotected Iterator<InterceptorMapping>protected ActionContextprotected WithLazyParams.LazyParamInjectorprotected ObjectFactoryprotected OgnlUtilprotected List<PreResultListener>protected ActionProxyprotected booleanprotected Resultprotected Stringprotected ValueStackprotected UnknownHandlerManagerprotected ValueStackFactory
- 
Constructor SummaryConstructorsConstructorDescriptionDefaultActionInvocation(Map<String, Object> extraContext, boolean pushAction) 
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddPreResultListener(PreResultListener listener) Register a org.apache.struts2.interceptor.PreResultListener to be notified after the Action is executed and before the Result is executed.protected voidcreateAction(Map<String, Object> contextMap) protected voidcreateInterceptors(ActionProxy proxy) protected StringexecuteConditional(ConditionalInterceptor conditionalInterceptor) Get the Action associated with this ActionInvocation.Gets the ActionContext associated with this ActionInvocation.getProxy()Get the ActionProxy holding this ActionInvocation.If the DefaultActionInvocation 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.Gets the result code returned from this ActionInvocation.getStack()Gets the ValueStack associated with this ActionInvocation.voidinit(ActionProxy proxy) invoke()Invokes the next step in processing this ActionInvocation.protected StringinvokeAction(Object action, ActionConfig actionConfig) Invokes only the Action (not Interceptors or Results).booleanGets whether this ActionInvocation has executed before.protected voidprepareLazyParamInjector(ValueStack valueStack) protected StringsaveResult(ActionConfig actionConfig, Object methodResult) Save the result to be used later.voidsetActionEventListener(ActionEventListener listener) Sets the action event listener to respond to key action events.voidsetAsyncManager(AsyncManager asyncManager) voidsetContainer(Container cont) voidvoidsetOgnlUtil(OgnlUtil ognlUtil) voidsetResultCode(String resultCode) Sets the result code, possibly overriding the one returned by the action.voidsetUnknownHandlerManager(UnknownHandlerManager unknownHandlerManager) void
- 
Field Details- 
action
- 
proxy
- 
preResultListeners
- 
extraContext
- 
invocationContext
- 
interceptors
- 
stack
- 
result
- 
explicitResult
- 
resultCode
- 
executedprotected boolean executed
- 
pushActionprotected boolean pushAction
- 
objectFactory
- 
actionEventListener
- 
valueStackFactory
- 
container
- 
unknownHandlerManager
- 
ognlUtil
- 
asyncManager
- 
asyncAction
- 
lazyParamInjector
 
- 
- 
Constructor Details- 
DefaultActionInvocation
 
- 
- 
Method Details- 
setUnknownHandlerManager
- 
setValueStackFactory
- 
setObjectFactory
- 
setContainer
- 
setActionEventListenerDescription copied from interface:ActionInvocationSets the action event listener to respond to key action events.- Specified by:
- setActionEventListenerin interface- ActionInvocation
- Parameters:
- listener- the listener.
 
- 
setOgnlUtil
- 
setAsyncManager
- 
getActionDescription copied from interface:ActionInvocationGet the Action associated with this ActionInvocation.- Specified by:
- getActionin interface- ActionInvocation
- Returns:
- the Action
 
- 
isExecutedpublic boolean isExecuted()Description copied from interface:ActionInvocationGets whether this ActionInvocation has executed before. This will be set after the Action and the Result have executed.- Specified by:
- isExecutedin interface- ActionInvocation
- Returns:
- true if this ActionInvocation has executed before.
 
- 
getInvocationContextDescription copied from interface:ActionInvocationGets 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:
- getInvocationContextin interface- ActionInvocation
- Returns:
- the ActionContext.
 
- 
getProxyDescription copied from interface:ActionInvocationGet the ActionProxy holding this ActionInvocation.- Specified by:
- getProxyin interface- ActionInvocation
- Returns:
- the ActionProxy.
 
- 
getResultIf the DefaultActionInvocation 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 DefaultActionInvocation's result has not been executed before, the Result instance will be created and populated with the result params.- Specified by:
- getResultin interface- ActionInvocation
- Returns:
- a Result instance
- Throws:
- Exception- in case of any error
 
- 
getResultCodeDescription copied from interface:ActionInvocationGets the result code returned from this ActionInvocation.- Specified by:
- getResultCodein interface- ActionInvocation
- Returns:
- the result code
 
- 
setResultCodeDescription copied from interface:ActionInvocationSets 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 PreResultListenerwill 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:
- setResultCodein interface- ActionInvocation
- Parameters:
- resultCode- the result code.
- See Also:
 
- 
getStackDescription copied from interface:ActionInvocationGets the ValueStack associated with this ActionInvocation.- Specified by:
- getStackin interface- ActionInvocation
- Returns:
- the ValueStack
 
- 
addPreResultListenerRegister a org.apache.struts2.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:
- addPreResultListenerin interface- ActionInvocation
- Parameters:
- listener- to register
 
- 
createResult- Throws:
- Exception
 
- 
invokeDescription copied from interface:ActionInvocationInvokes 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:
- invokein interface- ActionInvocation
- Returns:
- the return code.
- Throws:
- ConfigurationException- If no result can be found with the returned code
- Exception- can be thrown.
 
- 
executeConditional- Throws:
- Exception
 
- 
invokeActionOnlyDescription copied from interface:ActionInvocationInvokes 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:
- invokeActionOnlyin interface- ActionInvocation
- Returns:
- the return code.
- Throws:
- Exception- can be thrown.
 
- 
createAction
- 
createContextMap
- 
init- Specified by:
- initin interface- ActionInvocation
 
- 
prepareLazyParamInjector
- 
createInterceptors
- 
invokeAction- Throws:
- Exception
 
- 
saveResultSave the result to be used later.- Parameters:
- actionConfig- current ActionConfig
- methodResult- the result of the action.
- Returns:
- the result code to process.
 
 
-