Package org.apache.tapestry5

# Class CookieBuilder

java.lang.Object
org.apache.tapestry5.CookieBuilder

public abstract class CookieBuilder extends Object
A fluent API to create and write cookies. Used by the `Cookies` service.

Since:
  5.4

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected String`
  `comment`
  `protected String`
  `domain`
  `protected Boolean`
  `httpOnly`
  `protected Integer`
  `maxAge`
  `protected final String`
  `name`
  `protected String`
  `path`
  `protected Boolean`
  `secure`
  `protected final String`
  `value`
  `protected int`
  `version`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `CookieBuilder(String name, String value)`
  Initialize a new CookieBuilder

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract void`
  `delete()`
  Deletes the cookie.
  `CookieBuilder`
  `setComment(String comment)`
  Comments are not supported by version 0 (the default) cookies
  `CookieBuilder`
  `setDomain(String domain)`
  Set the domain for the cookie to be created.
  `CookieBuilder`
  `setHttpOnly(boolean httpOnly)`
  Set the cookie's httpOnly mode.
  `CookieBuilder`
  `setMaxAge(int maxAge)`
  Set how long the cookie should live.
  `CookieBuilder`
  `setMaxAge(Duration maxAge)`
  Set how long the cookie should live.
  `CookieBuilder`
  `setPath(String path)`
  Set the path for the cookie to be created.
  `CookieBuilder`
  `setSecure(boolean secure)`
  Set the cookie's secure mode.
  `CookieBuilder`
  `setVersion(int version)`
  Version 0 complies with the original Netscape cookie specification.
  `abstract void`
  `write()`
  Sets defaults and writes the cookie to the client.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### name

    protected final String name

  - ### value

    protected final String value

  - ### path

    protected String path

  - ### domain

    protected String domain

  - ### maxAge

    protected Integer maxAge

  - ### secure

    protected Boolean secure

  - ### httpOnly

    protected Boolean httpOnly

  - ### version

    protected int version

  - ### comment

    protected String comment

- ## Constructor Details

  - ### CookieBuilder

    protected CookieBuilder(String name, String value)
    Initialize a new CookieBuilder
    Parameters:
      `name` - the name of the resulting cookie
      `value` - the value of the resulting cookie

- ## Method Details

  - ### setPath

    public CookieBuilder setPath(String path)
    Set the path for the cookie to be created. Defaults to `Request.getContextPath()`.
    Parameters:
      `path` - the path for the cookie
    Returns:
      the modified `CookieBuilder`

  - ### setDomain

    public CookieBuilder setDomain(String domain)
    Set the domain for the cookie to be created. Will not be set by default.
    Parameters:
      `domain` - the domain for the cookie
    Returns:
      the modified `CookieBuilder`

  - ### setMaxAge

    public CookieBuilder setMaxAge(int maxAge)
    Set how long the cookie should live. A value of `0` deletes a cookie, a value of `-1` deletes a cookie upon closing the browser. The default is defined by the symbol `org.apache.tapestry5.default-cookie-max-age`. The factory default for this value is the equivalent of one week.
    Parameters:
      `maxAge` - the cookie's maximum age in seconds
    Returns:
      the modified `CookieBuilder`

  - ### setMaxAge

    public CookieBuilder setMaxAge(Duration maxAge)
    Set how long the cookie should live. A value of `java.time.Duration.ZERO` deletes a cookie, a negative value deletes a cookie upon closing the browser. The default is defined by the symbol `org.apache.tapestry5.default-cookie-max-age`. The factory default for this value is the equivalent of one week.
    Parameters:
      `maxAge` - the cookie's maximum age in seconds
    Returns:
      the modified `CookieBuilder`
    Since:
      5.8.3

  - ### setSecure

    public CookieBuilder setSecure(boolean secure)
    Set the cookie's secure mode. Defaults to `Request.isSecure()`.
    Parameters:
      `secure` - whether to send the cookie over a secure channel only
    Returns:
      the modified `CookieBuilder`

  - ### setHttpOnly

    public CookieBuilder setHttpOnly(boolean httpOnly)
    Set the cookie's httpOnly mode.
    Parameters:
      `httpOnly` - prevents javascript access to this cookie
    Returns:
      the modified `CookieBuilder`

  - ### setVersion

    public CookieBuilder setVersion(int version)
    Version 0 complies with the original Netscape cookie specification. Version 1 complies with RFC 2109 (experimental)
    Parameters:
      `version` - number
    Returns:
      the modified `CookieBuilder`

  - ### setComment

    public CookieBuilder setComment(String comment)
    Comments are not supported by version 0 (the default) cookies
    Parameters:
      `comment` - for cookie
    Returns:
      the modified `CookieBuilder`

  - ### write

    public abstract void write()
    Sets defaults and writes the cookie to the client.

  - ### delete

    public abstract void delete()
    Deletes the cookie.