Class CookieBuilder


  • public abstract class CookieBuilder
    extends java.lang.Object
    A fluent API to create and write cookies. Used by the Cookies service.
    Since:
    5.4
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String comment  
      protected java.lang.String domain  
      protected java.lang.Boolean httpOnly  
      protected java.lang.Integer maxAge  
      protected java.lang.String name  
      protected java.lang.String path  
      protected java.lang.Boolean secure  
      protected java.lang.String value  
      protected int version  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected CookieBuilder​(java.lang.String name, java.lang.String value)
      Initialize a new CookieBuilder
    • Field Detail

      • name

        protected final java.lang.String name
      • value

        protected final java.lang.String value
      • path

        protected java.lang.String path
      • domain

        protected java.lang.String domain
      • maxAge

        protected java.lang.Integer maxAge
      • secure

        protected java.lang.Boolean secure
      • httpOnly

        protected java.lang.Boolean httpOnly
      • comment

        protected java.lang.String comment
    • Constructor Detail

      • CookieBuilder

        protected CookieBuilder​(java.lang.String name,
                                java.lang.String value)
        Initialize a new CookieBuilder
        Parameters:
        name - the name of the resulting cookie
        value - the value of the resulting cookie
    • Method Detail

      • setDomain

        public CookieBuilder setDomain​(java.lang.String domain)
        Set the domain for the cookie to be created. Will not be set by default.
        Parameters:
        domain - the domain for the cookie
        Returns:
        the modified CookieBuilder
      • setMaxAge

        public CookieBuilder setMaxAge​(int maxAge)
        Set how long the cookie should live. A value of 0 deletes a cookie, a value of -1 deletes a cookie upon closing the browser. The default is defined by the symbol org.apache.tapestry5.default-cookie-max-age. The factory default for this value is the equivalent of one week.
        Parameters:
        maxAge - the cookie's maximum age in seconds
        Returns:
        the modified CookieBuilder
      • setMaxAge

        public CookieBuilder setMaxAge​(java.time.Duration maxAge)
        Set how long the cookie should live. A value of java.time.Duration.ZERO deletes a cookie, a negative value deletes a cookie upon closing the browser. The default is defined by the symbol org.apache.tapestry5.default-cookie-max-age. The factory default for this value is the equivalent of one week.
        Parameters:
        maxAge - the cookie's maximum age in seconds
        Returns:
        the modified CookieBuilder
        Since:
        5.8.3
      • setHttpOnly

        public CookieBuilder setHttpOnly​(boolean httpOnly)
        Set the cookie's httpOnly mode.
        Parameters:
        httpOnly - prevents javascript access to this cookie
        Returns:
        the modified CookieBuilder
      • setVersion

        public CookieBuilder setVersion​(int version)
        Version 0 complies with the original Netscape cookie specification. Version 1 complies with RFC 2109 (experimental)
        Parameters:
        version - number
        Returns:
        the modified CookieBuilder
      • setComment

        public CookieBuilder setComment​(java.lang.String comment)
        Comments are not supported by version 0 (the default) cookies
        Parameters:
        comment - for cookie
        Returns:
        the modified CookieBuilder
      • write

        public abstract void write()
        Sets defaults and writes the cookie to the client.
      • delete

        public abstract void delete()
        Deletes the cookie.