Class BeanCookie

  • All Implemented Interfaces:
    Cookie

    public class BeanCookie
    extends Object
    implements Cookie
    • Constructor Detail

      • BeanCookie

        public BeanCookie​(String name)
    • Method Detail

      • toHeader

        public static String toHeader​(Cookie c)
        Formats the cookie in a suitable format for a SetCookie response
        Returns:
      • toHeader

        public static String toHeader​(Cookie c,
                                      long nowMs)
      • getVersion

        public int getVersion()
        Description copied from interface: Cookie
        This returns the version for this cookie. The version is not optional and so will always return the version this cookie uses. If no version number is specified this will return a version of 1, to comply with RFC 2109.
        Specified by:
        getVersion in interface Cookie
        Returns:
        the version value from this cookie instance
      • setVersion

        public void setVersion​(int version)
        Description copied from interface: Cookie
        This enables the version of the Cookie to be set. By default the version of the Cookie is set to 1. It is not advisable to set the version higher than 1, unless it is known that the client will accept it.

        Some old browsers can only handle cookie version 0. This can be used to comply with the original Netscape cookie specification. Version 1 complies with RFC 2109.

        Specified by:
        setVersion in interface Cookie
        Parameters:
        version - this is the version number for the cookie
      • getName

        public String getName()
        Description copied from interface: Cookie
        This returns the name for this cookie. The name and value attributes of a cookie define what the Cookie is for, these values will always be present. These are mandatory for both the Cookie and Set-Cookie headers.

        Because the cookie may be stored by name, the cookie name cannot be modified after the creation of the cookie object.

        Specified by:
        getName in interface Cookie
        Returns:
        the name from this cookie instance object
      • getValue

        public String getValue()
        Description copied from interface: Cookie
        This returns the value for this cookie. The name and value attributes of a cookie define what the Cookie is for, these values will always be present. These are mandatory for both the Cookie and Set-Cookie headers.
        Specified by:
        getValue in interface Cookie
        Returns:
        the value from this cookie instance object
      • setValue

        public void setValue​(String value)
        Description copied from interface: Cookie
        This enables the value of the cookie to be changed. This can be set to any value the server wishes to send. Cookie values can contain space characters as they are transmitted in quotes. For example a value of some value is perfectly legal. However for maximum compatibility across the different plaforms such as PHP, JavaScript and others, quotations should be avoided. If quotations are required they must be added to the string. For example a quoted value could be created as "some value".
        Specified by:
        setValue in interface Cookie
        Parameters:
        value - this is the new value of this cookie object
      • isSecure

        public boolean isSecure()
      • getSecure

        public boolean getSecure()
        Description copied from interface: Cookie
        This determines whether the cookie is secure. The cookie is secure if it has the "secure" token set, as defined by RFC 2109. If this token is set then the cookie is only sent over secure channels such as SSL and TLS and ensures that a third party cannot intercept and spoof the cookie.
        Specified by:
        getSecure in interface Cookie
        Returns:
        this returns true if the "secure" token is set
      • setSecure

        public void setSecure​(boolean secure)
        Description copied from interface: Cookie
        This is used to determine if the client browser should send this cookie over a secure protocol. If this is true then the client browser should only send the cookie over secure channels such as SSL and TLS. This ensures that the value of the cookie cannot be intercepted by a third party.
        Specified by:
        setSecure in interface Cookie
        Parameters:
        secure - if true then the cookie should be protected
      • getExpiry

        public int getExpiry()
        Description copied from interface: Cookie
        This returns the number of seconds a cookie lives for. This determines how long the cookie will live on the client side. If the expiry is less than zero the cookie lifetime is the duration of the client browser session, if it is zero then the cookie will be deleted from the client browser.
        Specified by:
        getExpiry in interface Cookie
        Returns:
        returns the duration in seconds the cookie lives
      • setExpiry

        public void setExpiry​(int expiry)
        Description copied from interface: Cookie
        This allows a lifetime to be specified for the cookie. This will make use of the "max-age" token specified by RFC 2109 the specifies the number of seconds a browser should keep a cookie for. This is useful if the cookie is to be kept beyond the lifetime of the client session. If the valie of this is zero then this will remove the client cookie, if it is less than zero then the "max-age" field is ignored.
        Specified by:
        setExpiry in interface Cookie
        Parameters:
        expiry - the duration in seconds the cookie lives
      • getDomain

        public String getDomain()
        Description copied from interface: Cookie
        This returns the domain for this cookie. The domain is in both the Cookie and Set-Cookie headers and so may return null if there is no domain value. If either the toString or toClientString is invoked the domain will not be present if this is null.
        Specified by:
        getDomain in interface Cookie
        Returns:
        this returns the domain value from this cookie
      • setDomain

        public void setDomain​(String domain)
        Description copied from interface: Cookie
        This enables the domain for this Cookie to be set. The form of the domain is specified by RFC 2109. The value can begin with a dot, like .host.com. This means that the cookie is visible within a specific DNS zone like www.host.com. By default this value is null which means it is sent back to its origin.
        Specified by:
        setDomain in interface Cookie
        Parameters:
        domain - this is the domain value for this cookie
      • getPath

        public String getPath()
        Description copied from interface: Cookie
        This returns the path for this cookie. The path is in both the Cookie and Set-Cookie headers and so may return null if there is no domain value. If the toString or toClientString is invoked the path will not be present if the path attribute is null.
        Specified by:
        getPath in interface Cookie
        Returns:
        this returns the path value from this cookie
      • setPath

        public void setPath​(String path)
        Description copied from interface: Cookie
        This is used to set the cookie path for this cookie. This is set so that the cookie can specify the directories that the cookie is sent with. For example if the path attribute is set to /pub/bin, then requests for the resource http://hostname:port/pub/bin/README will be issued with this cookie. The cookie is issued for all resources in the path and all subdirectories.
        Specified by:
        setPath in interface Cookie
        Parameters:
        path - this is the path value for this cookie object
      • setHttpOnly

        public void setHttpOnly​(boolean httpOnly)
        Specified by:
        setHttpOnly in interface Cookie
      • isHttpOnly

        public boolean isHttpOnly()
        Specified by:
        isHttpOnly in interface Cookie