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 String` | `name` |
    `protected String` | `path` |
    `protected Boolean` | `secure` |
    `protected String` | `value` |
    `protected int` | `version` |

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    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` | `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 Detail

    - #### 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 Detail

    - #### 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 Detail

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

    - #### 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.