com.opensymphony.xwork.interceptor
Class ChainingInterceptor

java.lang.Object
  extended by com.opensymphony.xwork.interceptor.AroundInterceptor
      extended by com.opensymphony.xwork.interceptor.ChainingInterceptor
All Implemented Interfaces:
Interceptor, java.io.Serializable

public class ChainingInterceptor
extends AroundInterceptor

An interceptor that copies all the properties of every object in the value stack to the currently executing object, except for any object that implements Unchainable. A collection of optional includes and excludes may be provided to control how and which parameters are copied. Only includes or excludes may be specified. Specifying both results in undefined behavior. See the javadocs for OgnlUtil.copy(Object, Object, java.util.Map, java.util.Collection, java.util.Collection) for more information.

It is important to remember that this interceptor does nothing if there are no objects already on the stack. This means two things: One, you can safely apply it to all your actions without any worry of adverse affects. Two, it is up to you to ensure an object exists in the stack prior to invoking this action. The most typical way this is done is through the use of the chain result type, which combines with this interceptor to make up the action chaining feature.

Interceptor parameters:

Extending the interceptor:

There are no known extension points to this interceptor.

Example code:

 
 
 <action name="someAction" class="com.examples.SomeAction">
     <interceptor-ref name="basicStack"/>
     <result name="success" type="chain">otherAction</result>
 </action>

 <action name="otherAction" class="com.examples.OtherAction">
     <interceptor-ref name="chain"/>
     <interceptor-ref name="basicStack"/>
     <result name="success">good_result.ftl</result>
 </action>
 
 
 

Version:
$Revision: 860 $
Author:
$Author: rainerh $, tm_jee ( tm_jee(at)yahoo.co.uk )
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.opensymphony.xwork.interceptor.AroundInterceptor
log
 
Constructor Summary
ChainingInterceptor()
           
 
Method Summary
protected  void after(ActionInvocation invocation, java.lang.String result)
          Called after the invocation has been executed.
protected  void before(ActionInvocation invocation)
          Called before the invocation has been executed.
 java.util.Collection getExcludes()
           
 java.util.Collection getIncludes()
           
 void setExcludes(java.util.Collection excludes)
           
 void setIncludes(java.util.Collection includes)
           
 
Methods inherited from class com.opensymphony.xwork.interceptor.AroundInterceptor
destroy, init, intercept
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChainingInterceptor

public ChainingInterceptor()
Method Detail

after

protected void after(ActionInvocation invocation,
                     java.lang.String result)
              throws java.lang.Exception
Description copied from class: AroundInterceptor
Called after the invocation has been executed.

Specified by:
after in class AroundInterceptor
result - the result value returned by the invocation
Throws:
java.lang.Exception

before

protected void before(ActionInvocation invocation)
               throws java.lang.Exception
Description copied from class: AroundInterceptor
Called before the invocation has been executed.

Specified by:
before in class AroundInterceptor
Throws:
java.lang.Exception

getExcludes

public java.util.Collection getExcludes()

setExcludes

public void setExcludes(java.util.Collection excludes)

getIncludes

public java.util.Collection getIncludes()

setIncludes

public void setIncludes(java.util.Collection includes)

XWork Project Page