org.springframework.web.util
Class CookieGenerator

java.lang.Object
  extended by org.springframework.web.util.CookieGenerator
Direct Known Subclasses:
CookieLocaleResolver, CookieThemeResolver

public class CookieGenerator
extends Object

Helper class for cookie generation, carrying cookie descriptor settings as bean properties and being able to add and remove cookie to/from a given response.

Can serve as base class for components that generate specific cookies, like CookieLocaleResolcer and CookieThemeResolver.

Since:
1.1.4
Author:
Juergen Hoeller
See Also:
addCookie(javax.servlet.http.HttpServletResponse, java.lang.String), removeCookie(javax.servlet.http.HttpServletResponse), CookieLocaleResolver, CookieThemeResolver

Field Summary
static int DEFAULT_COOKIE_MAX_AGE
          Deprecated. in favor of setting no max age value at all in such a case
static String DEFAULT_COOKIE_PATH
          Default path that cookies will be visible to: "/", i.e.
protected  Log logger
           
 
Constructor Summary
CookieGenerator()
           
 
Method Summary
 void addCookie(HttpServletResponse response, String cookieValue)
          Add a cookie with the given value to the response, using the cookie descriptor settings of this generator.
protected  Cookie createCookie(String cookieValue)
          Create a cookie with the given value, using the cookie descriptor settings of this generator (except for "cookieMaxAge").
 String getCookieDomain()
          Return the domain for cookies created by this generator, if any.
 Integer getCookieMaxAge()
          Return the maximum age for cookies created by this generator.
 String getCookieName()
          Return the given name for cookies created by this generator.
 String getCookiePath()
          Return the path for cookies created by this generator.
 boolean isCookieHttpOnly()
          Return whether the cookie is supposed to be marked with the "HttpOnly" attribute.
 boolean isCookieSecure()
          Return whether the cookie should only be sent using a secure protocol, such as HTTPS (SSL).
 void removeCookie(HttpServletResponse response)
          Remove the cookie that this generator describes from the response.
 void setCookieDomain(String cookieDomain)
          Use the given domain for cookies created by this generator.
 void setCookieHttpOnly(boolean cookieHttpOnly)
          Set whether the cookie is supposed to be marked with the "HttpOnly" attribute.
 void setCookieMaxAge(Integer cookieMaxAge)
          Use the given maximum age (in seconds) for cookies created by this generator.
 void setCookieName(String cookieName)
          Use the given name for cookies created by this generator.
 void setCookiePath(String cookiePath)
          Use the given path for cookies created by this generator.
 void setCookieSecure(boolean cookieSecure)
          Set whether the cookie should only be sent using a secure protocol, such as HTTPS (SSL).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_COOKIE_PATH

public static final String DEFAULT_COOKIE_PATH
Default path that cookies will be visible to: "/", i.e. the entire server.

See Also:
Constant Field Values

DEFAULT_COOKIE_MAX_AGE

@Deprecated
public static final int DEFAULT_COOKIE_MAX_AGE
Deprecated. in favor of setting no max age value at all in such a case
Default maximum age of cookies: maximum integer value, i.e. forever.

See Also:
Constant Field Values

logger

protected final Log logger
Constructor Detail

CookieGenerator

public CookieGenerator()
Method Detail

setCookieName

public void setCookieName(String cookieName)
Use the given name for cookies created by this generator.

See Also:
Cookie.getName()

getCookieName

public String getCookieName()
Return the given name for cookies created by this generator.


setCookieDomain

public void setCookieDomain(String cookieDomain)
Use the given domain for cookies created by this generator. The cookie is only visible to servers in this domain.

See Also:
Cookie.setDomain(java.lang.String)

getCookieDomain

public String getCookieDomain()
Return the domain for cookies created by this generator, if any.


setCookiePath

public void setCookiePath(String cookiePath)
Use the given path for cookies created by this generator. The cookie is only visible to URLs in this path and below.

See Also:
Cookie.setPath(java.lang.String)

getCookiePath

public String getCookiePath()
Return the path for cookies created by this generator.


setCookieMaxAge

public void setCookieMaxAge(Integer cookieMaxAge)
Use the given maximum age (in seconds) for cookies created by this generator. Useful special value: -1 ... not persistent, deleted when client shuts down

See Also:
Cookie.setMaxAge(int)

getCookieMaxAge

public Integer getCookieMaxAge()
Return the maximum age for cookies created by this generator.


setCookieSecure

public void setCookieSecure(boolean cookieSecure)
Set whether the cookie should only be sent using a secure protocol, such as HTTPS (SSL). This is an indication to the receiving browser, not processed by the HTTP server itself. Default is "false".

See Also:
Cookie.setSecure(boolean)

isCookieSecure

public boolean isCookieSecure()
Return whether the cookie should only be sent using a secure protocol, such as HTTPS (SSL).


setCookieHttpOnly

public void setCookieHttpOnly(boolean cookieHttpOnly)
Set whether the cookie is supposed to be marked with the "HttpOnly" attribute.

Note that this feature is only available on Servlet 3.0 and higher.

See Also:
javax.servlet.http.Cookie#setHttpOnly

isCookieHttpOnly

public boolean isCookieHttpOnly()
Return whether the cookie is supposed to be marked with the "HttpOnly" attribute.


addCookie

public void addCookie(HttpServletResponse response,
                      String cookieValue)
Add a cookie with the given value to the response, using the cookie descriptor settings of this generator.

Delegates to createCookie(java.lang.String) for cookie creation.

Parameters:
response - the HTTP response to add the cookie to
cookieValue - the value of the cookie to add
See Also:
setCookieName(java.lang.String), setCookieDomain(java.lang.String), setCookiePath(java.lang.String), setCookieMaxAge(java.lang.Integer)

removeCookie

public void removeCookie(HttpServletResponse response)
Remove the cookie that this generator describes from the response. Will generate a cookie with empty value and max age 0.

Delegates to createCookie(java.lang.String) for cookie creation.

Parameters:
response - the HTTP response to remove the cookie from
See Also:
setCookieName(java.lang.String), setCookieDomain(java.lang.String), setCookiePath(java.lang.String)

createCookie

protected Cookie createCookie(String cookieValue)
Create a cookie with the given value, using the cookie descriptor settings of this generator (except for "cookieMaxAge").

Parameters:
cookieValue - the value of the cookie to crate
Returns:
the cookie
See Also:
setCookieName(java.lang.String), setCookieDomain(java.lang.String), setCookiePath(java.lang.String)