Class AbstractHeaderFields<C extends Cookie,T extends HeaderFields<C,T>>

    • Constructor Detail

      • AbstractHeaderFields

        public AbstractHeaderFields​()
        Instantiates a new abstract Header-Fields.
      • AbstractHeaderFields

        public AbstractHeaderFields​(java.util.Map<java.lang.String,java.util.List<java.lang.String>> aHttpFields)
        Instantiates a new abstract Header-Fields.
        Parameters:
        aHttpFields - the http fields
    • Method Detail

      • get

        public java.util.List<java.lang.String> get​(java.lang.Object aKey)
        Specified by:
        get in interface java.util.Map<C extends Cookie,T extends HeaderFields<C,T>>
        Overrides:
        get in class java.util.HashMap<java.lang.String,java.util.List<java.lang.String>>
      • keySet

        public java.util.Set<java.lang.String> keySet​()
        Specified by:
        keySet in interface java.util.Map<C extends Cookie,T extends HeaderFields<C,T>>
        Overrides:
        keySet in class java.util.HashMap<java.lang.String,java.util.List<java.lang.String>>
      • entrySet

        public java.util.Set<java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>> entrySet​()
        Specified by:
        entrySet in interface java.util.Map<C extends Cookie,T extends HeaderFields<C,T>>
        Overrides:
        entrySet in class java.util.HashMap<java.lang.String,java.util.List<java.lang.String>>
      • put

        public java.util.List<java.lang.String> put​(java.lang.String aKey,
                                                    java.util.List<java.lang.String> aValue)
        Specified by:
        put in interface java.util.Map<C extends Cookie,T extends HeaderFields<C,T>>
        Overrides:
        put in class java.util.HashMap<java.lang.String,java.util.List<java.lang.String>>
      • addTo

        public void addTo​(java.lang.String aHeaderField,
                          java.lang.String aValue)
        Adds a value to the list of values associated with the given Header-Field (key).
        Specified by:
        addTo in interface HttpFields<C extends Cookie>
        Parameters:
        aHeaderField - The Header-Field (key) of which's list of values a value is to be added.
        aValue - The value to be added to the list of values associated to the given Header-Field (key).
      • putAll

        public void putAll​(java.util.Map<? extends java.lang.String,? extends java.util.List<java.lang.String>> aMap)
        Specified by:
        putAll in interface java.util.Map<C extends Cookie,T extends HeaderFields<C,T>>
        Overrides:
        putAll in class java.util.HashMap<java.lang.String,java.util.List<java.lang.String>>
      • isCommaSeparatedHeaderField

        protected static boolean isCommaSeparatedHeaderField​(java.lang.String aHeaderName)
        Tests the given HTTP Header-Field name whether it holds a comma separated value. You may overwrite this method and add your own implementation or extend this method by overwriting it and calling it in you overwritten method.
        Parameters:
        aHeaderName - The name of the header to be tested.
        Returns:
        True if the value being held by the given Header-Field name is a comma separated list.
      • toHeaderFields

        protected static void toHeaderFields​(java.util.Map<java.lang.String,java.util.List<java.lang.String>> aFromFields,
                                             HeaderFields<?,?> aToFields)
        Copies the provided "from" fields into the provided "to" fields. Omits empty or null values.
        Parameters:
        aFromFields - The fields from which to copy.
        aToFields - The fields to which to copy.
      • toHeaderField

        protected java.lang.String toHeaderField​(java.lang.Object aHeaderField)
        Normalizes the case of the provided Header-Field to conform to the HeaderField.getName() format if possible. Else the unmodified Header-Field is returned.
        Parameters:
        aHeaderField - The field to normalize.
        Returns:
        The Header-Field, in case of normalization the normalized one.
      • getCookieFieldName

        protected abstract java.lang.String getCookieFieldName​()
        The Header-Field name for the Cookie elements. The Header-Field name differs from the context, e.g. when setting a Cookie server-side or when retrieving a Cookie client-side.
        Returns:
        The Header-Field where the Cookie elements are stored.
      • createCookie

        protected abstract C createCookie​(java.lang.String aCookieName,
                                          java.lang.String aValue)
        Creates a plain Cookie with the given name and value.
        Parameters:
        aCookieName - The name of the Cookie.
        aValue - The value for the Cookie
        Returns:
        The Cookie with the given name and value.
      • createCookie

        protected abstract C createCookie​(java.lang.String aHttpCookie)
        Creates a Cookie from the given HTTP cookie String as retrieved from the according Header-Field.
        Parameters:
        aHttpCookie - The text of the Header-Field for the cookie to be created.
        Returns:
        The Cookie with the given cookie properties.