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 Subinterfaces:
    RequestCookie, ResponseCookie
    All Known Implementing Classes:
    RequestCookieImpl, ResponseCookieImpl

    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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void fromHttpCookie​(String aHttpCookie)
      Sets the cookie according to the provided HTTP cookie text.
      String toHttpCookie()
      Returns the cookie to be assigned to a cookie Header-Field.
      Cookie 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 Detail

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