org.mentawai.core
Class CookieContext

java.lang.Object
  extended by org.mentawai.core.CookieContext
All Implemented Interfaces:
java.util.Map<java.lang.String,java.lang.Object>, Context

public class CookieContext
extends java.lang.Object
implements Context, java.util.Map<java.lang.String,java.lang.Object>

A cookie management abstraction into a Mentawai context. Note that this class is smart enough to keep track of which cookies were added, which ones were removed and which ones did not suffer any modification and should not be sent again to the browser.

Since:
1.2
Author:
Sergio Oliveira

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Constructor Summary
CookieContext(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          Creates a new CookieContext for this request and response.
 
Method Summary
 void clear()
           
 boolean containsKey(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
           
 java.lang.Object get(java.lang.Object key)
           
 java.lang.Object getAttribute(java.lang.String name)
          Return the cookie value with the given name, if present.
 boolean hasAttribute(java.lang.String name)
          Returns true is an attribute exists with this name.
 boolean isEmpty()
           
 java.util.Iterator<java.lang.String> keys()
          Return an iterator with all the attribute names in this context.
 java.util.Set<java.lang.String> keySet()
           
 java.lang.String put(java.lang.String key, java.lang.Object value)
           
 void putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> t)
           
 java.lang.String remove(java.lang.Object key)
           
 void removeAttribute(java.lang.String name)
          Tell the browser to remove the given cookie.
 void reset()
          Resets this context.
 void setAttribute(java.lang.String name, java.lang.Object value)
          Sets a cookie to send to the client in the response.
 int size()
           
 java.util.Collection<java.lang.Object> values()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

CookieContext

public CookieContext(javax.servlet.http.HttpServletRequest req,
                     javax.servlet.http.HttpServletResponse res)
Creates a new CookieContext for this request and response.

Parameters:
req - The request from where to get the cookies.
res - The response where to put the new cookies.
Method Detail

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
Return the cookie value with the given name, if present.

Specified by:
getAttribute in interface Context
Parameters:
name - The name of the cookie to return
Returns:
The cookie value as a String.

keys

public java.util.Iterator<java.lang.String> keys()
Description copied from interface: Context
Return an iterator with all the attribute names in this context.

Specified by:
keys in interface Context
Returns:
an iterator with the attribute names

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Sets a cookie to send to the client in the response. Note that this method can take a Cookie as the value as well as a String. If you pass a String, a Cookie object is created with default values for path and max age. If you pass a Object other than a Cookie or a String, its toString() method its called and taken as the cookie value.

Specified by:
setAttribute in interface Context
Parameters:
name - The name of this cookie
value - The cookie object or the value of the cookie as a String

removeAttribute

public void removeAttribute(java.lang.String name)
Tell the browser to remove the given cookie.

Specified by:
removeAttribute in interface Context
Parameters:
name - The name of the cookie to remove.

reset

public void reset()
Description copied from interface: Context
Resets this context. All values are discarded and a new context is internally created.

Specified by:
reset in interface Context

hasAttribute

public boolean hasAttribute(java.lang.String name)
Description copied from interface: Context
Returns true is an attribute exists with this name.

Specified by:
hasAttribute in interface Context
Parameters:
name - The name of the attribute.
Returns:
true if the attribute exists

clear

public void clear()
Specified by:
clear in interface java.util.Map<java.lang.String,java.lang.Object>

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface java.util.Map<java.lang.String,java.lang.Object>

containsValue

public boolean containsValue(java.lang.Object value)
Specified by:
containsValue in interface java.util.Map<java.lang.String,java.lang.Object>

entrySet

public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
Specified by:
entrySet in interface java.util.Map<java.lang.String,java.lang.Object>

get

public java.lang.Object get(java.lang.Object key)
Specified by:
get in interface java.util.Map<java.lang.String,java.lang.Object>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Map<java.lang.String,java.lang.Object>

keySet

public java.util.Set<java.lang.String> keySet()
Specified by:
keySet in interface java.util.Map<java.lang.String,java.lang.Object>

put

public java.lang.String put(java.lang.String key,
                            java.lang.Object value)
Specified by:
put in interface java.util.Map<java.lang.String,java.lang.Object>

putAll

public void putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> t)
Specified by:
putAll in interface java.util.Map<java.lang.String,java.lang.Object>

remove

public java.lang.String remove(java.lang.Object key)
Specified by:
remove in interface java.util.Map<java.lang.String,java.lang.Object>

size

public int size()
Specified by:
size in interface java.util.Map<java.lang.String,java.lang.Object>

values

public java.util.Collection<java.lang.Object> values()
Specified by:
values in interface java.util.Map<java.lang.String,java.lang.Object>


Copyright © 2005 Mentawai Team. All Rights Reserved.