Class ChainingInterceptor

  extended by com.opensymphony.xwork2.interceptor.AbstractInterceptor
      extended by com.opensymphony.xwork2.interceptor.ChainingInterceptor
All Implemented Interfaces:
Interceptor, Serializable

public class ChainingInterceptor
extends AbstractInterceptor

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 name="otherAction" class="com.examples.OtherAction">
     <interceptor-ref name="chain"/>
     <interceptor-ref name="basicStack"/>
     <result name="success">good_result.ftl</result>

$Revision: 1142 $
$Author: mrdon $, tm_jee ( tm_jee(at) )
See Also:
Serialized Form

Field Summary
private static Log _log
(package private)  Collection excludes
(package private)  Collection includes
Constructor Summary
Method Summary
 Collection getExcludes()
 Collection getIncludes()
 String intercept(ActionInvocation invocation)
          Override to handle interception
 void setExcludes(Collection excludes)
 void setIncludes(Collection includes)
Methods inherited from class com.opensymphony.xwork2.interceptor.AbstractInterceptor
destroy, init
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


private static final Log _log


Collection excludes


Collection includes
Constructor Detail


public ChainingInterceptor()
Method Detail


public String intercept(ActionInvocation invocation)
                 throws Exception
Description copied from class: AbstractInterceptor
Override to handle interception

Specified by:
intercept in interface Interceptor
Specified by:
intercept in class AbstractInterceptor
the return code, either returned from ActionInvocation.invoke(), or from the interceptor itself.
Exception - any system-level error, as defined in Action.execute().


public Collection getExcludes()


public void setExcludes(Collection excludes)


public Collection getIncludes()


public void setIncludes(Collection includes)

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