Class MultiMap

  • All Implemented Interfaces:
    Iterable<Map.Entry<String,​String>>

    public class MultiMap
    extends Object
    implements Iterable<Map.Entry<String,​String>>
    This class represents a MultiMap of String keys to a List of String values.

    It's useful in Vert.x to represent things in Vert.x like HTTP headers and HTTP parameters which allow multiple values for keys.

    NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.

    • Constructor Detail

      • MultiMap

        public MultiMap​(MultiMap delegate)
      • MultiMap

        public MultiMap​(Object delegate)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getDelegate

        public MultiMap getDelegate()
      • caseInsensitiveMultiMap

        public static MultiMap caseInsensitiveMultiMap()
        Create a multi-map implementation with case insensitive keys, for instance it can be used to hold some HTTP headers.
        Returns:
        the multi-map
      • get

        public String get​(String name)
        Returns the value of with the specified name. If there are more than one values for the specified name, the first value is returned.
        Parameters:
        name - The name of the header to search
        Returns:
        The first header value or null if there is no such entry
      • getAll

        public List<String> getAll​(String name)
        Returns the values with the specified name
        Parameters:
        name - The name to search
        Returns:
        A immutable List of values which will be empty if no values are found
      • contains

        public boolean contains​(String name)
        Checks to see if there is a value with the specified name
        Parameters:
        name - The name to search for
        Returns:
        true if at least one entry is found
      • contains

        public boolean contains​(String name,
                                String value,
                                boolean caseInsensitive)
        Check if there is a header with the specified name and value. If caseInsensitive is true, value is compared in a case-insensitive way.
        Parameters:
        name - the name to search for
        value - the value to search for
        caseInsensitive -
        Returns:
        true if at least one entry is found
      • isEmpty

        public boolean isEmpty()
        Return true if empty
        Returns:
      • names

        public Set<String> names()
        Gets a immutable Set of all names
        Returns:
        A Set of all names
      • add

        public MultiMap add​(String name,
                            String value)
        Adds a new value with the specified name and value.
        Parameters:
        name - The name
        value - The value being added
        Returns:
        a reference to this, so the API can be used fluently
      • addAll

        public MultiMap addAll​(MultiMap map)
        Adds all the entries from another MultiMap to this one
        Parameters:
        map -
        Returns:
        a reference to this, so the API can be used fluently
      • set

        public MultiMap set​(String name,
                            String value)
        Sets a value under the specified name.

        If there is an existing header with the same name, it is removed. Setting a null value removes the entry.

        Parameters:
        name - The name
        value - The value
        Returns:
        a reference to this, so the API can be used fluently
      • setAll

        public MultiMap setAll​(MultiMap map)
        Cleans this instance.
        Parameters:
        map -
        Returns:
        a reference to this, so the API can be used fluently
      • remove

        public MultiMap remove​(String name)
        Removes the value with the given name
        Parameters:
        name - The name of the value to remove
        Returns:
        a reference to this, so the API can be used fluently
      • clear

        public MultiMap clear()
        Removes all
        Returns:
        a reference to this, so the API can be used fluently
      • size

        public int size()
        Return the number of keys.
        Returns:
      • forEach

        public void forEach​(BiConsumer<String,​String> action)
        Allows iterating over the entries in the map
        Parameters:
        action -
      • entries

        public List<Map.Entry<String,​String>> entries()
        Returns all entries in the multi-map.
        Returns:
        A immutable List of the name-value entries, which will be empty if no pairs are found
      • add

        public MultiMap add​(String name,
                            Iterable<String> values)
        Adds a new values under the specified name
        Parameters:
        name - The name being set
        values - The values
        Returns:
        a reference to this, so the API can be used fluently
      • addAll

        public MultiMap addAll​(Map<String,​String> headers)
        Adds all the entries from a Map to this
        Parameters:
        headers -
        Returns:
        a reference to this, so the API can be used fluently
      • set

        public MultiMap set​(String name,
                            Iterable<String> values)
        Sets values for the specified name.
        Parameters:
        name - The name of the headers being set
        values - The values of the headers being set
        Returns:
        a reference to this, so the API can be used fluently
      • setAll

        public MultiMap setAll​(Map<String,​String> headers)
        Cleans and set all values of the given instance
        Parameters:
        headers -
        Returns:
        a reference to this, so the API can be used fluently