Interface MultivaluedMap<K,​V>

  • Type Parameters:
    K - the type of keys maintained by this map
    V - the type of mapped values
    All Superinterfaces:
    java.util.Map<K,​java.util.List<V>>
    All Known Implementing Classes:
    AbstractMultivaluedMap, MultivaluedHashMap, MultivaluedStringMap

    public interface MultivaluedMap<K,​V>
    extends java.util.Map<K,​java.util.List<V>>
    A map of key-values pairs. Each key can have zero or more values.
    Since:
    1.0
    Author:
    Paul Sandoz, Marc Hadley, Marek Potociar
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void add​(K key, V value)
      Add a value to the current list of values for the supplied key.
      void addAll​(K key, java.util.List<V> valueList)
      Add all the values from the supplied value list to the current list of values for the supplied key.
      void addAll​(K key, V... newValues)
      Add multiple values to the current list of values for the supplied key.
      void addFirst​(K key, V value)
      Add a value to the first position in the current list of values for the supplied key.
      boolean equalsIgnoreValueOrder​(MultivaluedMap<K,​V> otherMap)
      Compare the specified map with this map for equality modulo the order of values for each key.
      V getFirst​(K key)
      A shortcut to get the first value of the supplied key.
      void putSingle​(K key, V value)
      Set the key's value to be a one item list consisting of the supplied value.
      • Methods inherited from interface java.util.Map

        clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
    • Method Detail

      • putSingle

        void putSingle​(K key,
                       V value)
        Set the key's value to be a one item list consisting of the supplied value. Any existing values will be replaced.
        Parameters:
        key - the key
        value - the single value of the key
      • add

        void add​(K key,
                 V value)
        Add a value to the current list of values for the supplied key.
        Parameters:
        key - the key
        value - the value to be added.
      • getFirst

        V getFirst​(K key)
        A shortcut to get the first value of the supplied key.
        Parameters:
        key - the key
        Returns:
        the first value for the specified key or null if the key is not in the map.
      • addAll

        void addAll​(K key,
                    V... newValues)
        Add multiple values to the current list of values for the supplied key. If the supplied array of new values is empty, method returns immediately. Method throws a NullPointerException if the supplied array of values is null.
        Parameters:
        key - the key.
        newValues - the values to be added.
        Throws:
        java.lang.NullPointerException - if the supplied array of new values is null.
        Since:
        2.0
      • addAll

        void addAll​(K key,
                    java.util.List<V> valueList)
        Add all the values from the supplied value list to the current list of values for the supplied key. If the supplied value list is empty, method returns immediately. Method throws a NullPointerException if the supplied array of values is null.
        Parameters:
        key - the key.
        valueList - the list of values to be added.
        Throws:
        java.lang.NullPointerException - if the supplied value list is null.
        Since:
        2.0
      • addFirst

        void addFirst​(K key,
                      V value)
        Add a value to the first position in the current list of values for the supplied key.
        Parameters:
        key - the key
        value - the value to be added.
        Since:
        2.0
      • equalsIgnoreValueOrder

        boolean equalsIgnoreValueOrder​(MultivaluedMap<K,​V> otherMap)
        Compare the specified map with this map for equality modulo the order of values for each key. Specifically, the values associated with each key are compared as if they were ordered lists.
        Parameters:
        otherMap - map to be compared to this one.
        Returns:
        true if the maps are equal modulo value ordering.
        Since:
        2.0