org.apache.struts2.interceptor
Class CookieInterceptor

java.lang.Object
  extended by com.opensymphony.xwork2.interceptor.AbstractInterceptor
      extended by org.apache.struts2.interceptor.CookieInterceptor
All Implemented Interfaces:
Interceptor, Serializable

public class CookieInterceptor
extends AbstractInterceptor

The aim of this intercepter is to set values in the stack/action based on cookie name/value of interest.

If an asterisk is present in cookiesName parameter, it will be assume that all cookies name are to be injected into struts' action, even though cookiesName is comma-separated by other values, e.g. (cookie1,*,cookie2).

If cookiesName is left empty it will assume that no cookie will be injected into Struts' action.

If an asterisk is present in cookiesValue parameter, it will assume that all cookies name irrespective of its value will be injected into Struts' action so long as the cookie name matches those specified in cookiesName parameter.

If cookiesValue is left empty it will assume that all cookie that match the cookieName parameter will be injected into Struts' action.

The action could implements CookiesAware in order to have a Map of filtered cookies set into it.

 

 <!--
   This example will inject cookies named either 'cookie1' or 'cookie2' whose
   value could be either 'cookie1value' or 'cookie2value' into Struts' action.
 -->
 <action ... >
    <interceptor-ref name="cookie">
        <param name="cookiesName">cookie1, cookie2</param>
        <param name="cookiesValue">cookie1value, cookie2value</param>
    </interceptor-ref>
    ....
 </action>


 <!--
      This example will inject cookies named either 'cookie1' or 'cookie2'
     regardless of their value into Struts' action.
 -->
 <action ... >
   <interceptor-ref name="cookie">
      <param name="cookiesName">cookie1, cookie2</param>
      <param name="cookiesValue">*</param>
   <interceptor-ref>
   ...
 </action>


 <!--
      This example will inject cookies named either 'cookie1' with value
      'cookie1value' or 'cookie2' with value 'cookie2value' into Struts'
      action.
 -->
 <action ... >
   <interceptor-ref name="cookie">
      <param name="cookiesName">cookie1</param>
      <param name="cookiesValue">cookie1value</param>
   </interceptor-ref>
   <interceptor-ref name="cookie">
      <param name="cookiesName"<cookie2</param>
     <param name="cookiesValue">cookie2value</param>
   </interceptor-ref>
   ....
 </action>

 <!--
    This example will inject any cookies regardless of its value into
    Struts' action.
  -->
 <action ... >
   <interceptor-ref name="cookie">
      <param name="cookiesName">*</param>
      <param name="cookiesValue">*</param>
   </interceptor-ref>
    ...
 </action>

 
 

See Also:
CookiesAware, Serialized Form

Field Summary
private  Set<String> cookiesNameSet
           
private  Set<String> cookiesValueSet
           
private static Logger LOG
           
private static long serialVersionUID
           
 
Constructor Summary
CookieInterceptor()
           
 
Method Summary
protected  void injectIntoCookiesAwareAction(Object action, Map<String,String> cookiesMap)
          Hook that set the cookiesMap into action that implements CookiesAware.
 String intercept(ActionInvocation invocation)
          Override to handle interception
protected  void populateCookieValueIntoStack(String cookieName, String cookieValue, Map<String,String> cookiesMap, ValueStack stack)
          Hook that populate cookie value into value stack (hence the action) if the criteria is satisfied (if the cookie value matches with those configured).
 void setCookiesName(String cookiesName)
          Set the cookiesName which if matched will allow the cookie to be injected into action, could be comma-separated string.
 void setCookiesValue(String cookiesValue)
          Set the cookiesValue which if matched (together with matching cookiesName) will caused the cookie to be injected into action, could be comma-separated string.
 
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

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

LOG

private static final Logger LOG

cookiesNameSet

private Set<String> cookiesNameSet

cookiesValueSet

private Set<String> cookiesValueSet
Constructor Detail

CookieInterceptor

public CookieInterceptor()
Method Detail

setCookiesName

public void setCookiesName(String cookiesName)
Set the cookiesName which if matched will allow the cookie to be injected into action, could be comma-separated string.

Parameters:
cookiesName -

setCookiesValue

public void setCookiesValue(String cookiesValue)
Set the cookiesValue which if matched (together with matching cookiesName) will caused the cookie to be injected into action, could be comma-separated string.

Parameters:
cookiesValue -

intercept

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
Parameters:
invocation - the action invocation
Returns:
the return code, either returned from ActionInvocation.invoke(), or from the interceptor itself.
Throws:
Exception - any system-level error, as defined in Action.execute().

populateCookieValueIntoStack

protected void populateCookieValueIntoStack(String cookieName,
                                            String cookieValue,
                                            Map<String,String> cookiesMap,
                                            ValueStack stack)
Hook that populate cookie value into value stack (hence the action) if the criteria is satisfied (if the cookie value matches with those configured).

Parameters:
cookieName -
cookieValue -
cookiesMap -
stack -

injectIntoCookiesAwareAction

protected void injectIntoCookiesAwareAction(Object action,
                                            Map<String,String> cookiesMap)
Hook that set the cookiesMap into action that implements CookiesAware.

Parameters:
action -
cookiesMap -


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