Interface HttpFields<B extends HttpFields<B>>

Type Parameters:
B - The generic type of the builder to be returned upon invoking builder methods.
All Superinterfaces:
Map<String,List<String>>
All Known Subinterfaces:
HeaderFields<C,B>
All Known Implementing Classes:
AbstractHeaderFields, AbstractHttpFields, FormFields, RequestHeaderFields, ResponseHeaderFields

public interface HttpFields<B extends HttpFields<B>> extends Map<String,List<String>>
Various key/value "collections" we run across when we develop HTTP based applications may have more then one value for one key. Such "collections" in this package are the HeaderFields as well as the FormFields. This interface represents this kind of data structure providing some common convenience methods.
  • Method Details

    • addAll

      default void addAll(HttpFields<?> aHttpFields)
      Adds all fields found in the provided HttpFields instance.
      Parameters:
      aHttpFields - The HttpFields instances which's fields are to be added.
    • getFirst

      default String getFirst(String aField)
      Returns the first Header-Field value in the list of values associated with the given Header-Field.
      Parameters:
      aField - The Header-Field (key) of which's values the first value is to be retrieved.
      Returns:
      The first value in the list of values associated to the given Header-Field (key).
    • getFirst

      default String getFirst(Enum<?> aField)
      Same as getFirst(String) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      Returns:
      the first
      See Also:
    • put

      default List<String> put(String aField, String aValue)
      Sets a single value for the Header-Field (key). Any values previously associated to the given Header-Field (key) are lost.
      Parameters:
      aField - The Header-Field for which to set a single value.
      aValue - The single value to be set for the Header-Field (key).
      Returns:
      the list
    • put

      default List<String> put(Enum<?> aField, String aValue)
      Same as put(String, String) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      aValue - the value
      Returns:
      the list
      See Also:
    • put

      default List<String> put(String aField, String... aValues)
      Performs a #set(String, String) on multiple values.
      Parameters:
      aField - The Header-Field for which to set the values.
      aValues - The values to be set for the Header-Field (key).
      Returns:
      the list
    • put

      default List<String> put(Enum<?> aField, String... aValues)
      Same as put(String, String...) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      aValues - the values
      Returns:
      the list
      See Also:
    • withPut

      default B withPut(String aField, String aValue)
      Builder method for the put(String, String) method.
      Parameters:
      aField - The Header-Field for which to set a single value.
      aValue - The single value to be set for the Header-Field (key).
      Returns:
      This HttpFields instance to continue building up the Header-Fields.
    • withPut

      default B withPut(Enum<?> aField, String aValue)
      Same as withPut(String, String) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      aValue - the value
      Returns:
      the b
      See Also:
    • withPut

      default B withPut(String aField, List<String> aValues)
      Builder method for the Map.put(Object, Object) method.
      Parameters:
      aField - The Header-Field for which to set the values.
      aValues - The values to be set for the Header-Field (key).
      Returns:
      This HttpFields instance to continue building up the Header-Fields.
    • withPut

      default B withPut(Enum<?> aField, List<String> aValues)
      Same as withPut(String, List) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      aValues - the values
      Returns:
      the b
      See Also:
    • withPut

      default B withPut(String aField, String... aValues)
      Builder method for the put(String, String...) method.
      Parameters:
      aField - The Header-Field for which to set the values.
      aValues - The values to be set for the Header-Field (key).
      Returns:
      This HttpFields instance to continue building up the Header-Fields.
    • withPut

      default B withPut(Enum<?> aField, String... aValues)
      Same as withPut(String, String...) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      aValues - the values
      Returns:
      the b
      See Also:
    • addTo

      default void addTo(String aField, String aValue)
      Adds a value to the list of values associated with the given Header-Field (key).
      Parameters:
      aField - 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).
    • addTo

      default void addTo(Enum<?> aField, String aValue)
      Same as addTo(String, String) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      aValue - the value
      See Also:
    • addTo

      default void addTo(String aField, String... aValues)
      Adds values to the list of values associated with the given Header-Field (key).
      Parameters:
      aField - The Header-Field (key) of which's list of values the values are to be added.
      aValues - The values to be added to the list of values associated to the given Header-Field (key).
    • addTo

      default void addTo(Enum<?> aField, String... aValues)
      Same as addTo(String, String...) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      aValues - the values
      See Also:
    • addTo

      default void addTo(String aField, List<String> aValues)
      Adds values to the list of values associated with the given Header-Field (key),.
      Parameters:
      aField - The Header-Field (key) of which's list of values the values are to be added.
      aValues - The values to be added to the list of values associated to the given Header-Field (key).
    • addTo

      default void addTo(Enum<?> aField, List<String> aValues)
      Same as addTo(String, List) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      aValues - the values
      See Also:
    • withAddTo

      default B withAddTo(String aField, String aValue)
      Builder method for the addTo(String, String) method.
      Parameters:
      aField - 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).
      Returns:
      This HttpFields instance to continue building up the Header-Fields.
    • withAddTo

      default B withAddTo(Enum<?> aField, String aValue)
      Same as withAddTo(String, String) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      aValue - the value
      Returns:
      the b
      See Also:
    • withAddTo

      default B withAddTo(String aField, String... aValues)
      Builder method for the addTo(String, String...) method.
      Parameters:
      aField - The Header-Field (key) of which's list of values the values are to be added.
      aValues - The values to be added to the list of values associated to the given Header-Field (key).
      Returns:
      This HttpFields instance to continue building up the Header-Fields.
    • withAddTo

      default B withAddTo(Enum<?> aField, String... aValues)
      Same as withAddTo(String, String...) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      aValues - the values
      Returns:
      the b
      See Also:
    • withAddTo

      default B withAddTo(String aField, List<String> aValues)
      Builder method for the addTo(String, List) method.
      Parameters:
      aField - The Header-Field (key) of which's list of values the values are to be added.
      aValues - The values to be added to the list of values associated to the given Header-Field (key).
      Returns:
      This HttpFields instance to continue building up the Header-Fields.
    • withAddTo

      default B withAddTo(Enum<?> aField, List<String> aValues)
      Same as withAddTo(String, List) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      aValues - the values
      Returns:
      the b
      See Also:
    • toField

      default String toField(String aKey)
      This method returns a single String (instead of returning a List of String instances when calling Map.get(Object)) where the elements of the filed are separated by the Delimiter.HTTP_HEADER_ELEMENTS and concatenated as a single String.
      Parameters:
      aKey - The field's key for which's elements to retrieve a comma separated String
      Returns:
      The comma separated String of the according elements or null if none such field was found.
    • toField

      default String toField(Enum<?> aField)
      Same as toField(String) though using the provided enumeration's Enum.toString() method to determine the key.
      Parameters:
      aField - the field
      Returns:
      the string
      See Also: