Class NewCookie

java.lang.Object
jakarta.ws.rs.core.Cookie
jakarta.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 Description
    static int DEFAULT_MAX_AGE
    Specifies that the cookie expires with the current application/browser session.

    Fields inherited from class jakarta.ws.rs.core.Cookie

    DEFAULT_VERSION
  • Constructor Summary

    Constructors 
    Constructor 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

    Modifier and Type Method 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()
    Deprecated.
    The format of the toString() method is subject to change in a future version.
    static NewCookie valueOf​(String value)
    Deprecated.
    This method will be removed in a future version.

    Methods inherited from class jakarta.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 Details

  • Constructor Details

    • 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 Details

    • valueOf

      @Deprecated public static NewCookie valueOf​(String value)
      Deprecated.
      This method will be removed in a future version. Please use RuntimeDelegate.getInstance().createHeaderDelegate(NewCookie.class).fromString(value) instead.
      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

      @Deprecated public String toString()
      Deprecated.
      The format of the toString() method is subject to change in a future version. Please use RuntimeDelegate.getInstance().createHeaderDelegate(NewCookie.class).toString(value) instead if you rely on the format of this method.
      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.