Interface Cookie

All Superinterfaces:
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.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:
RequestCookie, ResponseCookie

public interface Cookie extends org.refcodes.struct.Property.PropertyBuilder
The Cookie represents a HTTP cookie. As the cookies differ between an HTTP-Request and an HTTP-Response, we have the sub-interfaces RequestCookie and ResponseCookie. As of "HTTP cookies explained - NCZOnline": "... There is some confusion over encoding of a cookie value. The commonly held belief is that cookie values must be URL-encoded, but this is a fallacy even though it is the de facto implementation. The original specification indicates that only three types of characters must be encoded: semicolon, comma, and white space. The specification indicates that URL encoding may be used but stops short of requiring it. The RFC makes no mention of encoding whatsoever. Still, almost all implementations perform some sort of URL encoding on cookie values. In the case of name=value formats, the name and value are typically encoded separately while the equals sign is left as is. ..." Therefore 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.
See Also:
  • "https://www.nczonline.net/blog/2009/05/05/http-cookies-explained"
  • Nested Class Summary

    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.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
    void
    fromHttpCookie(String aHttpCookie)
    Sets the cookie according to the provided HTTP cookie text.
    Returns the cookie to be assigned to a cookie Header-Field.
    withHttpCookie(String aHttpCookie)
    Sets the cookie according to the provided HTTP cookie text via fromHttpCookie(String).

    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.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

    • toHttpCookie

      String toHttpCookie()
      Returns the cookie to be assigned to a cookie Header-Field.
      Returns:
      The cookie value for a Header-Field.
    • withHttpCookie

      Cookie withHttpCookie(String aHttpCookie)
      Sets the cookie according to the provided HTTP cookie text via fromHttpCookie(String).
      Parameters:
      aHttpCookie - The HTTP cookie text.
      Returns:
      A Cookie instance as of the Builder-Pattern.
    • fromHttpCookie

      void fromHttpCookie(String aHttpCookie)
      Sets the cookie according to the provided HTTP cookie text.
      Parameters:
      aHttpCookie - The HTTP cookie text.