org.springframework.web.util

## Class CookieGenerator

- java.lang.Object
- - 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

Fields
`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

Constructors
Constructor and Description
`CookieGenerator()`

### Method Summary

Methods
`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:
  `Cookie.setHttpOnly(boolean)`

#### 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)`