All Implemented Interfaces:
Serializable, Comparator

public class Cookie2 extends Cookie

Cookie class for RFC2965Spec cookie specification. It extends Cookie class and adds newer cookie attributes and functions required for this specification.

Since:
3.1
See Also:
  • Field Details

  • Constructor Details

    • Cookie2

      public Cookie2()
      Default constructor. Creates a blank cookie
    • Cookie2

      public Cookie2(String domain, String name, String value)
      Creates a cookie with the given name, value and domain attribute.
      Parameters:
      name - the cookie name
      value - the cookie value
      domain - the domain this cookie can be sent to
    • Cookie2

      public Cookie2(String domain, String name, String value, String path, Date expires, boolean secure)
      Creates a cookie with the given name, value, domain attribute, path attribute, expiration attribute, and secure attribute
      Parameters:
      name - the cookie name
      value - the cookie value
      domain - the domain this cookie can be sent to
      path - the path prefix for which this cookie can be sent
      expires - the Date at which this cookie expires, or null if the cookie expires at the end of the session
      secure - if true this cookie can only be sent over secure connections
      Throws:
      IllegalArgumentException - If cookie name is null or blank, cookie name contains a blank, or cookie name starts with character $
    • Cookie2

      public Cookie2(String domain, String name, String value, String path, Date expires, boolean secure, int[] ports)
      Creates a cookie with the given name, value, domain attribute, path attribute, expiration attribute, secure attribute, and ports attribute.
      Parameters:
      name - the cookie name
      value - the cookie value
      domain - the domain this cookie can be sent to
      path - the path prefix for which this cookie can be sent
      expires - the Date at which this cookie expires, or null if the cookie expires at the end of the session
      secure - if true this cookie can only be sent over secure connections
      ports - the ports for which this cookie can be sent
      Throws:
      IllegalArgumentException - If cookie name is null or blank, cookie name contains a blank, or cookie name starts with character $
  • Method Details

    • getCommentURL

      public String getCommentURL()
      If a user agent (web browser) presents this cookie to a user, the cookie's purpose will be described by the information at this URL.
      See Also:
    • setCommentURL

      public void setCommentURL(String commentURL)
      If a user agent (web browser) presents this cookie to a user, the cookie's purpose will be described by the information at this URL.
      Parameters:
      commentURL -
      See Also:
    • getPorts

      public int[] getPorts()
      Get the Port attribute. It restricts the ports to which a cookie may be returned in a Cookie request header.
      See Also:
    • setPorts

      public void setPorts(int[] ports)
      Set the Port attribute. It restricts the ports to which a cookie may be returned in a Cookie request header.
      Parameters:
      ports -
      See Also:
    • setDiscard

      public void setDiscard(boolean toDiscard)
      Set the Discard attribute. Note: Discard attribute overrides Max-age.
      See Also:
    • isPersistent

      public boolean isPersistent()
      Returns false if the cookie should be discarded at the end of the "session"; true otherwise.
      Overrides:
      isPersistent in class Cookie
      Returns:
      false if the cookie should be discarded at the end of the "session"; true otherwise
    • setPortAttributeSpecified

      public void setPortAttributeSpecified(boolean value)
      Indicates whether the cookie had a port attribute specified in the Set-Cookie2 response header.
      Parameters:
      value - true if port attribute is specified in response header.
      See Also:
    • isPortAttributeSpecified

      public boolean isPortAttributeSpecified()
      Returns:
      true if cookie port attribute was specified in the Set-Cookie2 header.
      See Also:
    • setPortAttributeBlank

      public void setPortAttributeBlank(boolean value)
      Indicates whether the Port attribute in Set-Cookie2 header contains no value (is of the form Port="").

      This value is required for generating the Cookie request header because the specification requires that if Set-Cookie2 header contains a blank value for port attribute, the Cookie header should also contain a port attribute with no value.

      Parameters:
      value - true if port attribute is specified as blank in response header.
      See Also:
      • isPortAttributeBlank
    • isPortAttributeBlank

      public boolean isPortAttributeBlank()
      Returns:
      true if the port attribute in Set-Cookie2 header had no value (was of the form Port="").
      See Also:
    • setVersionAttributeSpecified

      public void setVersionAttributeSpecified(boolean value)
      Indicates whether the cookie had a version attribute specified in the Set-Cookie2 response header.
      Parameters:
      value - true if version attribute is specified in response header.
      See Also:
    • isVersionAttributeSpecified

      public boolean isVersionAttributeSpecified()
      Returns:
      true if cookie version attribute was specified in the Set-Cookie2 header.
      See Also:
    • toExternalForm

      public String toExternalForm()
      Return a textual representation of the cookie.
      Overrides:
      toExternalForm in class Cookie
      Returns:
      string.