Class BasicClientCookie

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Cookie, SetCookie

    public final class BasicClientCookie
    extends java.lang.Object
    implements SetCookie, java.lang.Cloneable, java.io.Serializable
    Default implementation of SetCookie.
    Since:
    4.0
    See Also:
    Serialized Form
    • Field Detail

      • name

        private final java.lang.String name
        Cookie name
      • attribs

        private java.util.Map<java.lang.String,​java.lang.String> attribs
        Cookie attributes as specified by the origin server
      • value

        private java.lang.String value
        Cookie value
      • cookieDomain

        private java.lang.String cookieDomain
        Domain attribute.
      • cookieExpiryDate

        private java.time.Instant cookieExpiryDate
        Expiration Instant.
      • cookiePath

        private java.lang.String cookiePath
        Path attribute.
      • isSecure

        private boolean isSecure
        My secure flag.
      • creationDate

        private java.time.Instant creationDate
      • httpOnly

        private boolean httpOnly
        The httpOnly flag.
    • Constructor Detail

      • BasicClientCookie

        public BasicClientCookie​(java.lang.String name,
                                 java.lang.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 java.lang.String getName()
        Returns the name.
        Specified by:
        getName in interface Cookie
        Returns:
        String name The name
      • getValue

        public java.lang.String getValue()
        Returns the value.
        Specified by:
        getValue in interface Cookie
        Returns:
        String value The current value.
      • setValue

        public void setValue​(java.lang.String value)
        Sets the value
        Specified by:
        setValue in interface SetCookie
        Parameters:
        value -
      • getExpiryDate

        @Deprecated
        public java.util.Date getExpiryDate()
        Deprecated.
        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)
      • getExpiryInstant

        public java.time.Instant getExpiryInstant()
        Returns the expiration Instant 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:
        getExpiryInstant in interface Cookie
        Returns:
        Expiration Instant, or null.
      • setExpiryDate

        @Deprecated
        public void setExpiryDate​(java.util.Date expiryDate)
        Deprecated.
        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:
        Cookie.getExpiryDate()
      • setExpiryDate

        public void setExpiryDate​(java.time.Instant expiryInstant)
        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:
        expiryInstant - the Instant after which this cookie is no longer valid.
        Since:
        5.2
        See Also:
        getExpiryInstant()
      • 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 java.lang.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​(java.lang.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 java.lang.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​(java.lang.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()
      • setHttpOnly

        public void setHttpOnly​(boolean httpOnly)
        Sets the http-only attribute of the cookie.
        Specified by:
        setHttpOnly in interface SetCookie
        Parameters:
        httpOnly - true if this cookie is to be marked as httpOnly, false otherwise
        Since:
        5.2
      • isExpired

        @Deprecated
        public boolean isExpired​(java.util.Date date)
        Deprecated.
        Returns true if this cookie has expired.
        Specified by:
        isExpired in interface Cookie
        Parameters:
        date - Current time
        Returns:
        true if the cookie has expired.
      • isExpired

        public boolean isExpired​(java.time.Instant instant)
        Returns true if this cookie has expired.
        Specified by:
        isExpired in interface Cookie
        Parameters:
        instant - Current time
        Returns:
        true if the cookie has expired.
      • getCreationDate

        @Deprecated
        public java.util.Date getCreationDate()
        Deprecated.
        Description copied from interface: Cookie
        Returns creation time of the cookie.
        Specified by:
        getCreationDate in interface Cookie
        Since:
        4.4
      • getCreationInstant

        public java.time.Instant getCreationInstant()
        Description copied from interface: Cookie
        Returns creation time of the cookie.
        Specified by:
        getCreationInstant in interface Cookie
        Since:
        5.2
      • isHttpOnly

        public boolean isHttpOnly()
        Description copied from interface: Cookie
        Checks whether this Cookie has been marked as httpOnly.

        The default implementation returns false.

        Specified by:
        isHttpOnly in interface Cookie
        Returns:
        true if this Cookie has been marked as httpOnly, false otherwise
        Since:
        5.2
        See Also:
        setHttpOnly(boolean)
      • setCreationDate

        @Deprecated
        public void setCreationDate​(java.util.Date creationDate)
        Deprecated.
        Since:
        4.4
      • setCreationDate

        public void setCreationDate​(java.time.Instant creationDate)
        Since:
        5.2
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 java.lang.String value)
      • getAttribute

        public java.lang.String getAttribute​(java.lang.String name)
        Specified by:
        getAttribute in interface Cookie
      • containsAttribute

        public boolean containsAttribute​(java.lang.String name)
        Specified by:
        containsAttribute in interface Cookie
      • removeAttribute

        public boolean removeAttribute​(java.lang.String name)
        Since:
        4.4
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Overrides:
        clone in class java.lang.Object
        Throws:
        java.lang.CloneNotSupportedException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object