org.apache.http.impl.cookie

## Class BasicClientCookie

- java.lang.Object
- - org.apache.http.impl.cookie.BasicClientCookie

- All Implemented Interfaces:
    Serializable, Cloneable, ClientCookie, Cookie, SetCookie
  Direct Known Subclasses:
    BasicClientCookie2

      public class BasicClientCookie
      extends Object
      implements SetCookie, ClientCookie, Cloneable, Serializable

  Default implementation of `SetCookie`.
  Since:
    4.0
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from interface org.apache.http.cookie.ClientCookie

      `COMMENT_ATTR, COMMENTURL_ATTR, DISCARD_ATTR, DOMAIN_ATTR, EXPIRES_ATTR, MAX_AGE_ATTR, PATH_ATTR, PORT_ATTR, SECURE_ATTR, VERSION_ATTR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BasicClientCookie(String name, String value)` Default Constructor taking a name and a value.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `clone()`
    `boolean` | `containsAttribute(String name)`
    `String` | `getAttribute(String name)`
    `String` | `getComment()` Returns the comment describing the purpose of this cookie, or `null` if no such comment has been defined.
    `String` | `getCommentURL()` Returns null.
    `Date` | `getCreationDate()`
    `String` | `getDomain()` Returns domain attribute of the cookie.
    `Date` | `getExpiryDate()` Returns the expiration `Date` of the cookie, or `null` if none exists.
    `String` | `getName()` Returns the name.
    `String` | `getPath()` Returns the path attribute of the cookie
    `int[]` | `getPorts()` Returns null.
    `String` | `getValue()` Returns the value.
    `int` | `getVersion()` Returns the version of the cookie specification to which this cookie conforms.
    `boolean` | `isExpired(Date date)` Returns true if this cookie has expired.
    `boolean` | `isPersistent()` Returns `false` if the cookie should be discarded at the end of the "session"; `true` otherwise.
    `boolean` | `isSecure()` Indicates whether this cookie requires a secure connection.
    `boolean` | `removeAttribute(String name)`
    `void` | `setAttribute(String name, String value)`
    `void` | `setComment(String comment)` If a user agent (web browser) presents this cookie to a user, the cookie's purpose will be described using this comment.
    `void` | `setCreationDate(Date creationDate)`
    `void` | `setDomain(String domain)` Sets the domain attribute.
    `void` | `setExpiryDate(Date expiryDate)` Sets expiration date.
    `void` | `setPath(String path)` Sets the path attribute.
    `void` | `setSecure(boolean secure)` Sets the secure attribute of the cookie.
    `void` | `setValue(String value)` Sets the value
    `void` | `setVersion(int version)` Sets the version of the cookie specification to which this cookie conforms.
    `String` | `toString()`

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

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### BasicClientCookie

          public BasicClientCookie(String name,
                           String value)

      Default Constructor taking a name and a value. The value may be null.
      Parameters:
        `name` - The name.
        `value` - The value.

  - ### Method Detail

    - #### getName

          public String getName()

      Returns the name.
      Specified by:
        `getName` in interface `Cookie`
      Returns:
        String name The name

    - #### getValue

          public String getValue()

      Returns the value.
      Specified by:
        `getValue` in interface `Cookie`
      Returns:
        String value The current value.

    - #### setValue

          public void setValue(String value)

      Sets the value
      Specified by:
        `setValue` in interface `SetCookie`
      Parameters:
        `value` -

    - #### getComment

          public String getComment()

      Returns the comment describing the purpose of this cookie, or `null` if no such comment has been defined.
      Specified by:
        `getComment` in interface `Cookie`
      Returns:
        comment
      See Also:
        `setComment(String)`

    - #### setComment

          public void setComment(String comment)

      If a user agent (web browser) presents this cookie to a user, the cookie's purpose will be described using this comment.
      Specified by:
        `setComment` in interface `SetCookie`
      Parameters:
        `comment` -
      See Also:
        `getComment()`

    - #### getCommentURL

          public String getCommentURL()

      Returns null. Cookies prior to RFC2965 do not set this attribute
      Specified by:
        `getCommentURL` in interface `Cookie`

    - #### getExpiryDate

          public Date getExpiryDate()

      Returns the expiration `Date` of the cookie, or `null` if none exists.

      Note: the object returned by this method is considered immutable. Changing it (e.g. using setTime()) could result in undefined behaviour. Do so at your peril.

      Specified by:
        `getExpiryDate` in interface `Cookie`
      Returns:
        Expiration `Date`, or `null`.
      See Also:
        `setExpiryDate(java.util.Date)`

    - #### setExpiryDate

          public void setExpiryDate(Date expiryDate)

      Sets expiration date.

      Note: the object returned by this method is considered immutable. Changing it (e.g. using setTime()) could result in undefined behaviour. Do so at your peril.

      Specified by:
        `setExpiryDate` in interface `SetCookie`
      Parameters:
        `expiryDate` - the `Date` after which this cookie is no longer valid.
      See Also:
        `getExpiryDate()`

    - #### isPersistent

          public boolean isPersistent()

      Returns `false` if the cookie should be discarded at the end of the "session"; `true` otherwise.
      Specified by:
        `isPersistent` in interface `Cookie`
      Returns:
        `false` if the cookie should be discarded at the end of the "session"; `true` otherwise

    - #### getDomain

          public String getDomain()

      Returns domain attribute of the cookie.
      Specified by:
        `getDomain` in interface `Cookie`
      Returns:
        the value of the domain attribute
      See Also:
        `setDomain(java.lang.String)`

    - #### setDomain

          public void setDomain(String domain)

      Sets the domain attribute.
      Specified by:
        `setDomain` in interface `SetCookie`
      Parameters:
        `domain` - The value of the domain attribute
      See Also:
        `getDomain()`

    - #### getPath

          public String getPath()

      Returns the path attribute of the cookie
      Specified by:
        `getPath` in interface `Cookie`
      Returns:
        The value of the path attribute.
      See Also:
        `setPath(java.lang.String)`

    - #### setPath

          public void setPath(String path)

      Sets the path attribute.
      Specified by:
        `setPath` in interface `SetCookie`
      Parameters:
        `path` - The value of the path attribute
      See Also:
        `getPath()`

    - #### isSecure

          public boolean isSecure()

      Description copied from interface: `Cookie`
      Indicates whether this cookie requires a secure connection.
      Specified by:
        `isSecure` in interface `Cookie`
      Returns:
        `true` if this cookie should only be sent over secure connections.
      See Also:
        `setSecure(boolean)`

    - #### setSecure

          public void setSecure(boolean secure)

      Sets the secure attribute of the cookie.

      When `true` the cookie should only be sent using a secure protocol (https). This should only be set when the cookie's originating server used a secure protocol to set the cookie's value.

      Specified by:
        `setSecure` in interface `SetCookie`
      Parameters:
        `secure` - The value of the secure attribute
      See Also:
        `isSecure()`

    - #### getPorts

          public int[] getPorts()

      Returns null. Cookies prior to RFC2965 do not set this attribute
      Specified by:
        `getPorts` in interface `Cookie`

    - #### getVersion

          public int getVersion()

      Returns the version of the cookie specification to which this cookie conforms.
      Specified by:
        `getVersion` in interface `Cookie`
      Returns:
        the version of the cookie.
      See Also:
        `setVersion(int)`

    - #### setVersion

          public void setVersion(int version)

      Sets the version of the cookie specification to which this cookie conforms.
      Specified by:
        `setVersion` in interface `SetCookie`
      Parameters:
        `version` - the version of the cookie.
      See Also:
        `getVersion()`

    - #### isExpired

          public boolean isExpired(Date date)

      Returns true if this cookie has expired.
      Specified by:
        `isExpired` in interface `Cookie`
      Parameters:
        `date` - Current time
      Returns:
        `true` if the cookie has expired.

    - #### getCreationDate

          public Date getCreationDate()

      Since:
        4.4

    - #### setCreationDate

          public void setCreationDate(Date creationDate)

      Since:
        4.4

    - #### setAttribute

          public void setAttribute(String name,
                          String value)

    - #### getAttribute

          public String getAttribute(String name)

      Specified by:
        `getAttribute` in interface `ClientCookie`

    - #### containsAttribute

          public boolean containsAttribute(String name)

      Specified by:
        `containsAttribute` in interface `ClientCookie`

    - #### removeAttribute

          public boolean removeAttribute(String name)

      Since:
        4.4

    - #### clone

          public Object clone()
                       throws CloneNotSupportedException

      Overrides:
        `clone` in class `Object`
      Throws:
        `CloneNotSupportedException`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 1999–2022 The Apache Software Foundation. All rights reserved.