javax.ws.rs.core

## Class NewCookie

- java.lang.Object
- - javax.ws.rs.core.Cookie
  - - javax.ws.rs.core.NewCookie

-     public class NewCookie
      extends Cookie

  Used to create a new HTTP cookie, transferred in a response.
  Since:
    1.0
  Author:
    Paul Sandoz, Marc Hadley
  See Also:
    IETF RFC 2109

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DEFAULT_MAX_AGE` Specifies that the cookie expires with the current application/browser session.

    - ### Fields inherited from class javax.ws.rs.core.Cookie

      `DEFAULT_VERSION`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NewCookie(Cookie cookie)` Create a new instance copying the information in the supplied cookie.
    `NewCookie(Cookie cookie, String comment, int maxAge, boolean secure)` Create a new instance supplementing the information in the supplied cookie.
    `NewCookie(Cookie cookie, String comment, int maxAge, Date expiry, boolean secure, boolean httpOnly)` Create a new instance supplementing the information in the supplied cookie.
    `NewCookie(String name, String value)` Create a new instance.
    `NewCookie(String name, String value, String path, String domain, int version, String comment, int maxAge, boolean secure)` Create a new instance.
    `NewCookie(String name, String value, String path, String domain, int version, String comment, int maxAge, Date expiry, boolean secure, boolean httpOnly)` Create a new instance.
    `NewCookie(String name, String value, String path, String domain, String comment, int maxAge, boolean secure)` Create a new instance.
    `NewCookie(String name, String value, String path, String domain, String comment, int maxAge, boolean secure, boolean httpOnly)` Create a new instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)` Compare for equality.
    `String` | `getComment()` Get the comment associated with the cookie.
    `Date` | `getExpiry()` Get the cookie expiry date.
    `int` | `getMaxAge()` Get the maximum age of the the cookie in seconds.
    `int` | `hashCode()` Generate a hash code by hashing all of the properties.
    `boolean` | `isHttpOnly()` Returns `true` if this cookie contains the `HttpOnly` attribute.
    `boolean` | `isSecure()` Whether the cookie will only be sent over a secure connection.
    `Cookie` | `toCookie()` Obtain a new instance of a `Cookie` with the same name, value, path, domain and version as this `NewCookie`.
    `String` | `toString()` Convert the cookie to a string suitable for use as the value of the corresponding HTTP header.
    `static NewCookie` | `valueOf(String value)` Creates a new instance of NewCookie by parsing the supplied string.

    - ### Methods inherited from class javax.ws.rs.core.Cookie

      `getDomain, getName, getPath, getValue, getVersion`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_MAX_AGE

          public static final int DEFAULT_MAX_AGE

      Specifies that the cookie expires with the current application/browser session.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### NewCookie

          public NewCookie(String name,
                   String value)

      Create a new instance.
      Parameters:
        `name` - the name of the cookie.
        `value` - the value of the cookie.
      Throws:
        `IllegalArgumentException` - if name is `null`.

    - #### NewCookie

          public NewCookie(String name,
                   String value,
                   String path,
                   String domain,
                   String comment,
                   int maxAge,
                   boolean secure)

      Create a new instance.
      Parameters:
        `name` - the name of the cookie.
        `value` - the value of the cookie.
        `path` - the URI path for which the cookie is valid.
        `domain` - the host domain for which the cookie is valid.
        `comment` - the comment.
        `maxAge` - the maximum age of the cookie in seconds.
        `secure` - specifies whether the cookie will only be sent over a secure connection.
      Throws:
        `IllegalArgumentException` - if name is `null`.

    - #### NewCookie

          public NewCookie(String name,
                   String value,
                   String path,
                   String domain,
                   String comment,
                   int maxAge,
                   boolean secure,
                   boolean httpOnly)

      Create a new instance.
      Parameters:
        `name` - the name of the cookie.
        `value` - the value of the cookie.
        `path` - the URI path for which the cookie is valid.
        `domain` - the host domain for which the cookie is valid.
        `comment` - the comment.
        `maxAge` - the maximum age of the cookie in seconds.
        `secure` - specifies whether the cookie will only be sent over a secure connection.
        `httpOnly` - if `true` make the cookie HTTP only, i.e. only visible as part of an HTTP request.
      Throws:
        `IllegalArgumentException` - if name is `null`.
      Since:
        2.0

    - #### NewCookie

          public NewCookie(String name,
                   String value,
                   String path,
                   String domain,
                   int version,
                   String comment,
                   int maxAge,
                   boolean secure)

      Create a new instance.
      Parameters:
        `name` - the name of the cookie
        `value` - the value of the cookie
        `path` - the URI path for which the cookie is valid
        `domain` - the host domain for which the cookie is valid
        `version` - the version of the specification to which the cookie complies
        `comment` - the comment
        `maxAge` - the maximum age of the cookie in seconds
        `secure` - specifies whether the cookie will only be sent over a secure connection
      Throws:
        `IllegalArgumentException` - if name is `null`.

    - #### NewCookie

          public NewCookie(String name,
                   String value,
                   String path,
                   String domain,
                   int version,
                   String comment,
                   int maxAge,
                   Date expiry,
                   boolean secure,
                   boolean httpOnly)

      Create a new instance.
      Parameters:
        `name` - the name of the cookie
        `value` - the value of the cookie
        `path` - the URI path for which the cookie is valid
        `domain` - the host domain for which the cookie is valid
        `version` - the version of the specification to which the cookie complies
        `comment` - the comment
        `maxAge` - the maximum age of the cookie in seconds
        `expiry` - the cookie expiry date.
        `secure` - specifies whether the cookie will only be sent over a secure connection
        `httpOnly` - if `true` make the cookie HTTP only, i.e. only visible as part of an HTTP request.
      Throws:
        `IllegalArgumentException` - if name is `null`.
      Since:
        2.0

    - #### NewCookie

          public NewCookie(Cookie cookie)

      Create a new instance copying the information in the supplied cookie.
      Parameters:
        `cookie` - the cookie to clone.
      Throws:
        `IllegalArgumentException` - if cookie is `null`.

    - #### NewCookie

          public NewCookie(Cookie cookie,
                   String comment,
                   int maxAge,
                   boolean secure)

      Create a new instance supplementing the information in the supplied cookie.
      Parameters:
        `cookie` - the cookie to clone.
        `comment` - the comment.
        `maxAge` - the maximum age of the cookie in seconds.
        `secure` - specifies whether the cookie will only be sent over a secure connection.
      Throws:
        `IllegalArgumentException` - if cookie is `null`.

    - #### NewCookie

          public NewCookie(Cookie cookie,
                   String comment,
                   int maxAge,
                   Date expiry,
                   boolean secure,
                   boolean httpOnly)

      Create a new instance supplementing the information in the supplied cookie.
      Parameters:
        `cookie` - the cookie to clone.
        `comment` - the comment.
        `maxAge` - the maximum age of the cookie in seconds.
        `expiry` - the cookie expiry date.
        `secure` - specifies whether the cookie will only be sent over a secure connection.
        `httpOnly` - if `true` make the cookie HTTP only, i.e. only visible as part of an HTTP request.
      Throws:
        `IllegalArgumentException` - if cookie is `null`.
      Since:
        2.0

  - ### Method Detail

    - #### valueOf

          public static NewCookie valueOf(String value)

      Creates a new instance of NewCookie by parsing the supplied string.
      Parameters:
        `value` - the cookie string.
      Returns:
        the newly created `NewCookie`.
      Throws:
        `IllegalArgumentException` - if the supplied string cannot be parsed or is `null`.

    - #### getComment

          public String getComment()

      Get the comment associated with the cookie.
      Returns:
        the comment or null if none set

    - #### getMaxAge

          public int getMaxAge()

      Get the maximum age of the the cookie in seconds. Cookies older than the maximum age are discarded. A cookie can be unset by sending a new cookie with maximum age of 0 since it will overwrite any existing cookie and then be immediately discarded. The default value of `-1` indicates that the cookie will be discarded at the end of the browser/application session.

      Note that it is recommended to use `Max-Age` to control cookie expiration, however some browsers do not understand `Max-Age`, in which case setting `getExpiry()` Expires} parameter may be necessary.

      Returns:
        the maximum age in seconds.
      See Also:
        `getExpiry()`

    - #### getExpiry

          public Date getExpiry()

      Get the cookie expiry date. Cookies whose expiry date has passed are discarded. A cookie can be unset by setting a new cookie with an expiry date in the past, typically the lowest possible date that can be set.

      Note that it is recommended to use `Max-Age` to control cookie expiration, however some browsers do not understand `Max-Age`, in which case setting `Expires` parameter may be necessary.

      Returns:
        cookie expiry date or `null` if no expiry date was set.
      Since:
        2.0
      See Also:
        `getMaxAge()`

    - #### isSecure

          public boolean isSecure()

      Whether the cookie will only be sent over a secure connection. Defaults to `false`.
      Returns:
        `true` if the cookie will only be sent over a secure connection, `false` otherwise.

    - #### isHttpOnly

          public boolean isHttpOnly()

      Returns `true` if this cookie contains the `HttpOnly` attribute. This means that the cookie should not be accessible to scripting engines, like javascript.
      Returns:
        `true` if this cookie should be considered http only, `false` otherwise.
      Since:
        2.0

    - #### toCookie

          public Cookie toCookie()

      Obtain a new instance of a `Cookie` with the same name, value, path, domain and version as this `NewCookie`. This method can be used to obtain an object that can be compared for equality with another `Cookie`; since a `Cookie` will never compare equal to a `NewCookie`.
      Returns:
        a `Cookie`

    - #### toString

          public String toString()

      Convert the cookie to a string suitable for use as the value of the corresponding HTTP header.
      Overrides:
        `toString` in class `Cookie`
      Returns:
        a stringified cookie.

    - #### hashCode

          public int hashCode()

      Generate a hash code by hashing all of the properties.
      Overrides:
        `hashCode` in class `Cookie`
      Returns:
        the hash code.

    - #### equals

          public boolean equals(Object obj)

      Compare for equality. Use `toCookie()` to compare a `NewCookie` to a `Cookie` considering only the common properties.
      Overrides:
        `equals` in class `Cookie`
      Parameters:
        `obj` - the object to compare to
      Returns:
        true if the object is a `NewCookie` with the same value for all properties, false otherwise.

Copyright © 2014. All Rights Reserved.