org.mentawai.core
Class CookieContext

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

public class CookieContext
extends Object
implements Context, Map<String,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
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(Object key)
           
 boolean containsValue(Object value)
           
 Set<Map.Entry<String,Object>> entrySet()
           
 Object get(Object key)
           
 Object getAttribute(String name)
          Return the cookie value with the given name, if present.
 boolean hasAttribute(String name)
          Returns true is an attribute exists with this name.
 boolean isEmpty()
           
 Iterator<String> keys()
          Return an iterator with all the attribute names in this context.
 Set<String> keySet()
           
 String put(String key, Object value)
           
 void putAll(Map<? extends String,? extends Object> t)
           
 String remove(Object key)
           
 void removeAttribute(String name)
          Tell the browser to remove the given cookie.
 void reset()
          Resets this context.
 void setAttribute(String name, Object value)
          Sets a cookie to send to the client in the response.
 int size()
           
 Collection<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 Object getAttribute(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 Iterator<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(String name,
                         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(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(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 Map<String,Object>

containsKey

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

containsValue

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

entrySet

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

get

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

isEmpty

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

keySet

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

put

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

putAll

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

remove

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

size

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

values

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


Copyright © 2013. All Rights Reserved.