com.opensymphony.webwork.interceptor
Class CookieInterceptor

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

public class CookieInterceptor
extends AroundInterceptor

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

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

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

If an asterik is present in cookiesValue parameter, it will assume that all cookies name irrespective of its value will be injected into WebWork's 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 WebWork's 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 WebWork's 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 WebWork's 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 WebWork's
      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 
    WebWork's action.
  -->
 <action ... >
   <interceptor-ref name="cookie">
      <param name="cookiesName">*</param>
      <param name="cookiesValue">*</param>
   </interceptor-ref>
    ...
 </action>
 
 
 

Version:
$Date: 2007-08-05 22:43:21 +0800 (Sun, 05 Aug 2007) $ $Id: CookieInterceptor.java 2938 2007-08-05 14:43:21Z tm_jee $
Author:
Matthew Payne, tmjee
See Also:
CookiesAware, Serialized Form

Field Summary
 
Fields inherited from class com.opensymphony.xwork.interceptor.AroundInterceptor
log
 
Constructor Summary
CookieInterceptor()
           
 
Method Summary
protected  void after(ActionInvocation invocation, String result)
          No operation.
protected  void before(ActionInvocation invocation)
          Inject cookies into action if they match the cookiesName and cookiesValue configured.
 void destroy()
          No operation.
 void init()
          No operation.
protected  void injectIntoCookiesAwareAction(Object action, Map cookiesMap)
          Hook that set the cookiesMap into action that implements CookiesAware.
protected  void populateCookieValueIntoStack(String cookieName, String cookieValue, Map cookiesMap, OgnlValueStack stack)
          Hook that populate cookie value into ognl 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 matche 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.xwork.interceptor.AroundInterceptor
intercept
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CookieInterceptor

public CookieInterceptor()
Method Detail

setCookiesName

public void setCookiesName(String cookiesName)
Set the cookiesName which if matche 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 -

destroy

public void destroy()
No operation.

Specified by:
destroy in interface Interceptor
Overrides:
destroy in class AroundInterceptor

init

public void init()
No operation.

Specified by:
init in interface Interceptor
Overrides:
init in class AroundInterceptor

before

protected void before(ActionInvocation invocation)
               throws Exception
Inject cookies into action if they match the cookiesName and cookiesValue configured.

Specified by:
before in class AroundInterceptor
Parameters:
invocation -
Throws:
Exception

after

protected void after(ActionInvocation invocation,
                     String result)
              throws Exception
No operation.

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

populateCookieValueIntoStack

protected void populateCookieValueIntoStack(String cookieName,
                                            String cookieValue,
                                            Map cookiesMap,
                                            OgnlValueStack stack)
Hook that populate cookie value into ognl 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 cookiesMap)
Hook that set the cookiesMap into action that implements CookiesAware.

Parameters:
action -
cookiesMap -

WebWork Project Page