Package org.htmlunit.util

# Class Cookie

java.lang.Object
org.htmlunit.util.Cookie

All Implemented Interfaces:
  `Serializable`

public class Cookie extends Object implements Serializable
A cookie. This class is immutable.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Cookie(String domain, String name, String value)`
  Creates a new cookie with the specified name and value which applies to the specified domain.
  `Cookie(String domain, String name, String value, String path, int maxAge, boolean secure)`
  Creates a new cookie with the specified name and value which applies to the specified domain, the specified path, and expires after the specified amount of time.
  `Cookie(String domain, String name, String value, String path, Date expires, boolean secure)`
  Creates a new cookie with the specified name and value which applies to the specified domain, the specified path, and expires on the specified date.
  `Cookie(String domain, String name, String value, String path, Date expires, boolean secure, boolean httpOnly)`
  Creates a new cookie with the specified name and value which applies to the specified domain, the specified path, and expires on the specified date.
  `Cookie(String domain, String name, String value, String path, Date expires, boolean secure, boolean httpOnly, String sameSite)`
  Creates a new cookie with the specified name and value which applies to the specified domain, the specified path, and expires on the specified date.
  `Cookie(org.apache.http.cookie.ClientCookie clientCookie)`
  Creates a new HtmlUnit cookie from the HttpClient cookie provided.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object o)`
  `String`
  `getDomain()`
  Returns the domain to which this cookie applies (`null` for all domains).
  `Date`
  `getExpires()`
  Returns the date on which this cookie expires (`null` if it never expires).
  `String`
  `getName()`
  Returns the cookie name.
  `String`
  `getPath()`
  Returns the path to which this cookie applies (`null` for all paths).
  `String`
  `getSameSite()`
  `String`
  `getValue()`
  Returns the cookie value.
  `int`
  `hashCode()`
  `boolean`
  `isHttpOnly()`
  Returns whether or not this cookie is HttpOnly (i.e. not available in JS).
  `boolean`
  `isSecure()`
  Returns whether or not this cookie is secure (i.e.
  `org.apache.http.cookie.Cookie`
  `toHttpClient()`
  Converts this cookie to an HttpClient cookie.
  `String`
  `toString()`

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

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

- ## Constructor Details

  - ### Cookie

    public Cookie(String domain, String name, String value)
    Creates a new cookie with the specified name and value which applies to the specified domain. The new cookie applies to all paths, never expires and is not secure.
    Parameters:
      `domain` - the domain to which this cookie applies
      `name` - the cookie name
      `value` - the cookie name

  - ### Cookie

    public Cookie(String domain, String name, String value, String path, Date expires, boolean secure)
    Creates a new cookie with the specified name and value which applies to the specified domain, the specified path, and expires on the specified date.
    Parameters:
      `domain` - the domain to which this cookie applies
      `name` - the cookie name
      `value` - the cookie name
      `path` - the path to which this cookie applies
      `expires` - the date on which this cookie expires
      `secure` - whether or not this cookie is secure (i.e. HTTPS vs HTTP)

  - ### Cookie

    public Cookie(String domain, String name, String value, String path, Date expires, boolean secure, boolean httpOnly)
    Creates a new cookie with the specified name and value which applies to the specified domain, the specified path, and expires on the specified date.
    Parameters:
      `domain` - the domain to which this cookie applies
      `name` - the cookie name
      `value` - the cookie name
      `path` - the path to which this cookie applies
      `expires` - the date on which this cookie expires
      `secure` - whether or not this cookie is secure (i.e. HTTPS vs HTTP)
      `httpOnly` - whether or not this cookie should be only used for HTTP(S) headers

  - ### Cookie

    public Cookie(String domain, String name, String value, String path, Date expires, boolean secure, boolean httpOnly, String sameSite)
    Creates a new cookie with the specified name and value which applies to the specified domain, the specified path, and expires on the specified date.
    Parameters:
      `domain` - the domain to which this cookie applies
      `name` - the cookie name
      `value` - the cookie name
      `path` - the path to which this cookie applies
      `expires` - the date on which this cookie expires
      `secure` - whether or not this cookie is secure (i.e. HTTPS vs HTTP)
      `httpOnly` - whether or not this cookie should be only used for HTTP(S) headers
      `sameSite` - the sameSite attribute

  - ### Cookie

    public Cookie(org.apache.http.cookie.ClientCookie clientCookie)
    Creates a new HtmlUnit cookie from the HttpClient cookie provided.
    Parameters:
      `clientCookie` - the HttpClient cookie

  - ### Cookie

    public Cookie(String domain, String name, String value, String path, int maxAge, boolean secure)
    Creates a new cookie with the specified name and value which applies to the specified domain, the specified path, and expires after the specified amount of time.
    Parameters:
      `domain` - the domain to which this cookie applies
      `name` - the cookie name
      `value` - the cookie name
      `path` - the path to which this cookie applies
      `maxAge` - the number of seconds for which this cookie is valid; `-1` indicates that the cookie should never expire; other negative numbers are not allowed
      `secure` - whether or not this cookie is secure (i.e. HTTPS vs HTTP)

- ## Method Details

  - ### getName

    public String getName()
    Returns the cookie name.
    Returns:
      the cookie name

  - ### getValue

    public String getValue()
    Returns the cookie value.
    Returns:
      the cookie value

  - ### getDomain

    public String getDomain()
    Returns the domain to which this cookie applies (`null` for all domains).
    Returns:
      the domain to which this cookie applies (`null` for all domains)

  - ### getPath

    public String getPath()
    Returns the path to which this cookie applies (`null` for all paths).
    Returns:
      the path to which this cookie applies (`null` for all paths)

  - ### getExpires

    public Date getExpires()
    Returns the date on which this cookie expires (`null` if it never expires).
    Returns:
      the date on which this cookie expires (`null` if it never expires)

  - ### isSecure

    public boolean isSecure()
    Returns whether or not this cookie is secure (i.e. HTTPS vs HTTP).
    Returns:
      whether or not this cookie is secure (i.e. HTTPS vs HTTP)

  - ### isHttpOnly

    public boolean isHttpOnly()
    Returns whether or not this cookie is HttpOnly (i.e. not available in JS).
    Returns:
      whether or not this cookie is HttpOnly (i.e. not available in JS).
    See Also:
      - Wikipedia

  - ### getSameSite

    public String getSameSite()
    Returns:
      the SameSite value or `null` if not set.

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### toHttpClient

    public org.apache.http.cookie.Cookie toHttpClient()
    Converts this cookie to an HttpClient cookie.
    Returns:
      an HttpClient version of this cookie