Interface ResponseCookie

All Superinterfaces:
Cookie, org.refcodes.mixin.DomainAccessor, org.refcodes.mixin.DomainAccessor.DomainBuilder<ResponseCookie>, org.refcodes.mixin.DomainAccessor.DomainMutator, org.refcodes.mixin.DomainAccessor.DomainProperty, org.refcodes.mixin.KeyAccessor<String>, org.refcodes.mixin.KeyAccessor.KeyBuilder<String,​org.refcodes.struct.Relation.RelationBuilder<String,​String>>, org.refcodes.mixin.KeyAccessor.KeyMutator<String>, org.refcodes.mixin.KeyAccessor.KeyProperty<String>, org.refcodes.mixin.PathAccessor, org.refcodes.mixin.PathAccessor.PathBuilder<ResponseCookie>, org.refcodes.mixin.PathAccessor.PathMutator, org.refcodes.mixin.PathAccessor.PathProperty, org.refcodes.struct.Property, org.refcodes.struct.Property.PropertyBuilder, org.refcodes.struct.Relation<String,​String>, org.refcodes.struct.Relation.RelationBuilder<String,​String>, org.refcodes.mixin.ValueAccessor<String>, org.refcodes.mixin.ValueAccessor.ValueBuilder<String,​org.refcodes.struct.Relation.RelationBuilder<String,​String>>, org.refcodes.mixin.ValueAccessor.ValueMutator<String>, org.refcodes.mixin.ValueAccessor.ValueProperty<String>
All Known Implementing Classes:
ResponseCookieImpl

public interface ResponseCookie
extends Cookie, org.refcodes.mixin.PathAccessor.PathProperty, org.refcodes.mixin.PathAccessor.PathBuilder<ResponseCookie>, org.refcodes.mixin.DomainAccessor.DomainProperty, org.refcodes.mixin.DomainAccessor.DomainBuilder<ResponseCookie>
The ResponseCookie represents a builder for building response cookies. We use URL encoding / decoding for the cookie value (regarding fromHttpCookie(String) and toHttpCookie()) to make life easier and not fall into the trap of unescaped values.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.refcodes.mixin.DomainAccessor

    org.refcodes.mixin.DomainAccessor.DomainBuilder<B extends org.refcodes.mixin.DomainAccessor.DomainBuilder<?>>, org.refcodes.mixin.DomainAccessor.DomainMutator, org.refcodes.mixin.DomainAccessor.DomainProperty

    Nested classes/interfaces inherited from interface org.refcodes.mixin.KeyAccessor

    org.refcodes.mixin.KeyAccessor.KeyBuilder<K extends Object,​B extends org.refcodes.mixin.KeyAccessor.KeyBuilder<K,​B>>, org.refcodes.mixin.KeyAccessor.KeyMutator<K extends Object>, org.refcodes.mixin.KeyAccessor.KeyProperty<K extends Object>

    Nested classes/interfaces inherited from interface org.refcodes.mixin.PathAccessor

    org.refcodes.mixin.PathAccessor.PathBuilder<B extends org.refcodes.mixin.PathAccessor.PathBuilder<?>>, org.refcodes.mixin.PathAccessor.PathMutator, org.refcodes.mixin.PathAccessor.PathProperty

    Nested classes/interfaces inherited from interface org.refcodes.struct.Property

    org.refcodes.struct.Property.PropertyBuilder

    Nested classes/interfaces inherited from interface org.refcodes.struct.Relation

    org.refcodes.struct.Relation.RelationBuilder<K extends Object,​V extends Object>

    Nested classes/interfaces inherited from interface org.refcodes.mixin.ValueAccessor

    org.refcodes.mixin.ValueAccessor.ValueBuilder<V extends Object,​B extends org.refcodes.mixin.ValueAccessor.ValueBuilder<V,​B>>, org.refcodes.mixin.ValueAccessor.ValueMutator<V extends Object>, org.refcodes.mixin.ValueAccessor.ValueProperty<V extends Object>
  • Method Summary

    Modifier and Type Method Description
    default void fromHttpCookie​(String aHttpCookie)
    Sets the cookie according to the provided HTTP cookie text.
    Date getExpiresDate()
    Returns the expiration date of this cookie.
    int getMaxAge()
    Returns the Max-Age (seconds) for this cookie.
    String getVersion()
    Returns the version this cookie.
    boolean isHttpOnly()
    Returns true if we have an HTTP only cookie.
    boolean isSecure()
    Returns true if we have a secure HTTP cookie.
    void setExpiresAfter​(org.refcodes.time.TimeUnit aTimeUnit, long aTime)
    Sets the expires date to the current time plus the provided time.
    void setExpiresDate​(Date aExpireDate)
    Sets the expiration date of this cookie.
    void setHttpOnly​(boolean isHttpOnly)
    Sets whether it be an HTTP only cookie.
    void setMaxAge​(int aMaxAge)
    Sets the Max-Age (seconds) of this cookie.
    void setSecure​(boolean isSecure)
    Sets whether it be a secure HTTP cookie.
    void setVersion​(String aVersion)
    Sets the version of this cookie.
    default String toHttpCookie()
    Returns the cookie to be assigned to a cookie Header-Field.
    default ResponseCookie withDomain​(String aDomain)
    Sets the domain for this cookie.
    default ResponseCookie withExpiresAfter​(org.refcodes.time.TimeUnit aTimeUnit, long aTime)
    Builder method for the method setExpiresAfter(TimeUnit, long).
    default ResponseCookie withExpiresDate​(Date aExpiresDate)
    Sets the expiration date of this cookie and returns this instance as of the Builder-Pattern.
    default ResponseCookie withHttpCookie​(String aCookie)
    Sets the cookie according to the provided HTTP cookie text via Cookie.fromHttpCookie(String).
    default ResponseCookie withHttpOnly​(boolean isHttpOnly)
    Sets whether it be an HTTP only cookie.
    default ResponseCookie withMaxAge​(int aMaxAge)
    Builder method for setMaxAge(int).
    default ResponseCookie withPath​(String aPath)
    Sets the path of the cookie.
    default ResponseCookie withSecure​(boolean isSecure)
    Sets whether it be a secure HTTP cookie.
    default ResponseCookie withVersion​(String aVersion)
    Builder method for setVersion(String).

    Methods inherited from interface org.refcodes.mixin.DomainAccessor

    getDomain

    Methods inherited from interface org.refcodes.mixin.DomainAccessor.DomainMutator

    setDomain

    Methods inherited from interface org.refcodes.mixin.DomainAccessor.DomainProperty

    letDomain

    Methods inherited from interface org.refcodes.mixin.KeyAccessor

    getKey

    Methods inherited from interface org.refcodes.mixin.KeyAccessor.KeyMutator

    setKey

    Methods inherited from interface org.refcodes.mixin.KeyAccessor.KeyProperty

    letKey

    Methods inherited from interface org.refcodes.mixin.PathAccessor

    getPath

    Methods inherited from interface org.refcodes.mixin.PathAccessor.PathMutator

    setPath

    Methods inherited from interface org.refcodes.mixin.PathAccessor.PathProperty

    letPath

    Methods inherited from interface org.refcodes.struct.Property

    toProperty

    Methods inherited from interface org.refcodes.struct.Property.PropertyBuilder

    withKey, withValue

    Methods inherited from interface org.refcodes.mixin.ValueAccessor

    getValue, getValueOr

    Methods inherited from interface org.refcodes.mixin.ValueAccessor.ValueMutator

    setValue

    Methods inherited from interface org.refcodes.mixin.ValueAccessor.ValueProperty

    letValue
  • Method Details

    • getMaxAge

      int getMaxAge()
      Returns the Max-Age (seconds) for this cookie.
      Returns:
      The Max-Age.
    • setMaxAge

      void setMaxAge​(int aMaxAge)
      Sets the Max-Age (seconds) of this cookie.
      Parameters:
      aMaxAge - Sets the Max-Age.
    • withMaxAge

      default ResponseCookie withMaxAge​(int aMaxAge)
      Builder method for setMaxAge(int).
      Parameters:
      aMaxAge - Sets the Max-Age.
      Returns:
      This instance as of the Builder-Pattern.
    • getVersion

      String getVersion()
      Returns the version this cookie.
      Returns:
      The version.
    • setVersion

      void setVersion​(String aVersion)
      Sets the version of this cookie.
      Parameters:
      aVersion - Sets the version.
    • withVersion

      default ResponseCookie withVersion​(String aVersion)
      Builder method for setVersion(String).
      Parameters:
      aVersion - Sets the version.
      Returns:
      This instance as of the Builder-Pattern.
    • setExpiresAfter

      void setExpiresAfter​(org.refcodes.time.TimeUnit aTimeUnit, long aTime)
      Sets the expires date to the current time plus the provided time. Use getExpiresDate() to retrieve the resulting effective Date.
      Parameters:
      aTimeUnit - The TimeUnit of the provided time
      aTime - The provided time after which to expire
    • withExpiresAfter

      default ResponseCookie withExpiresAfter​(org.refcodes.time.TimeUnit aTimeUnit, long aTime)
      Builder method for the method setExpiresAfter(TimeUnit, long).
      Parameters:
      aTimeUnit - The TimeUnit of the provided time
      aTime - The provided time after which to expire
      Returns:
      This cookie instance for further configuration.
    • getExpiresDate

      Date getExpiresDate()
      Returns the expiration date of this cookie.
      Returns:
      The expiration date.
    • setExpiresDate

      void setExpiresDate​(Date aExpireDate)
      Sets the expiration date of this cookie.
      Parameters:
      aExpireDate - The expiration date.
    • withExpiresDate

      default ResponseCookie withExpiresDate​(Date aExpiresDate)
      Sets the expiration date of this cookie and returns this instance as of the Builder-Pattern.
      Parameters:
      aExpiresDate - the expires date
      Returns:
      This instance as of the Builder-Pattern.
    • withPath

      default ResponseCookie withPath​(String aPath)
      Sets the path of the cookie.
      Specified by:
      withPath in interface org.refcodes.mixin.PathAccessor.PathBuilder<ResponseCookie>
    • withDomain

      default ResponseCookie withDomain​(String aDomain)
      Sets the domain for this cookie.
      Specified by:
      withDomain in interface org.refcodes.mixin.DomainAccessor.DomainBuilder<ResponseCookie>
    • isHttpOnly

      boolean isHttpOnly()
      Returns true if we have an HTTP only cookie. Such a cookie cannot be accessed client-side (via JavaScript).
      Returns:
      True in case of being an HTTP only cookie.
    • setHttpOnly

      void setHttpOnly​(boolean isHttpOnly)
      Sets whether it be an HTTP only cookie. Such a cookie cannot be accessed client-side (via JavaScript).
      Parameters:
      isHttpOnly - True in case of being an HTTP only cookie.
    • withHttpOnly

      default ResponseCookie withHttpOnly​(boolean isHttpOnly)
      Sets whether it be an HTTP only cookie. Such a cookie cannot be accessed client-side (via JavaScript). Returns this instance as of the builder pattern.
      Parameters:
      isHttpOnly - True in case of being an HTTP only cookie.
      Returns:
      Returns this instance as of the Builder-Pattern.
    • isSecure

      boolean isSecure()
      Returns true if we have a secure HTTP cookie. Such a cookie only be transferred via HTTPS.
      Returns:
      True in case of being a secure only cookie.
    • setSecure

      void setSecure​(boolean isSecure)
      Sets whether it be a secure HTTP cookie. Such a cookie only be transferred via HTTPS.
      Parameters:
      isSecure - True in case of being a secure only cookie.
    • withSecure

      default ResponseCookie withSecure​(boolean isSecure)
      Sets whether it be a secure HTTP cookie. Such a cookie only be transferred via HTTPS. Returns this instance as of the Builder-Pattern.
      Parameters:
      isSecure - True in case of being a secure only cookie.
      Returns:
      Returns this instance as of the Builder-Pattern.
    • withHttpCookie

      default ResponseCookie withHttpCookie​(String aCookie)
      Sets the cookie according to the provided HTTP cookie text via Cookie.fromHttpCookie(String).
      Specified by:
      withHttpCookie in interface Cookie
      Parameters:
      aCookie - The HTTP cookie text.
      Returns:
      A Cookie instance as of the Builder-Pattern.
    • fromHttpCookie

      default void fromHttpCookie​(String aHttpCookie)
      Sets the cookie according to the provided HTTP cookie text.
      Specified by:
      fromHttpCookie in interface Cookie
      Parameters:
      aHttpCookie - The HTTP cookie text.
    • toHttpCookie

      default String toHttpCookie()
      Returns the cookie to be assigned to a cookie Header-Field.
      Specified by:
      toHttpCookie in interface Cookie
      Returns:
      The cookie value for a Header-Field.