org.cruxframework.crux.core.server.rest.core
Class MultivaluedMapImpl<K,V>

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<K,List<V>>
          extended by org.cruxframework.crux.core.server.rest.core.MultivaluedMapImpl<K,V>
All Implemented Interfaces:
Serializable, Cloneable, Map<K,List<V>>, MultivaluedMap<K,V>

public class MultivaluedMapImpl<K,V>
extends HashMap<K,List<V>>
implements MultivaluedMap<K,V>

Version:
$Revision: 1 $
Author:
Bill Burke
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Constructor Summary
MultivaluedMapImpl()
           
 
Method Summary
 void add(K key, V value)
          Add a value to the current list of values for the supplied key.
 void addAll(K key, 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 addAll(MultivaluedMapImpl<K,V> other)
           
 void addFirst(K key, V value)
          Add a value to the first position in the current list of values for the supplied key.
 void addMultiple(K key, Collection<V> values)
           
 boolean equalsIgnoreValueOrder(MultivaluedMap<K,V> omap)
          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.
 List<V> getList(K 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 class java.util.HashMap
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Constructor Detail

MultivaluedMapImpl

public MultivaluedMapImpl()
Method Detail

putSingle

public void putSingle(K key,
                      V value)
Description copied from interface: MultivaluedMap
Set the key's value to be a one item list consisting of the supplied value. Any existing values will be replaced.

Specified by:
putSingle in interface MultivaluedMap<K,V>
Parameters:
key - the key
value - the single value of the key

addAll

public void addAll(K key,
                   V... newValues)
Description copied from interface: MultivaluedMap
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.

Specified by:
addAll in interface MultivaluedMap<K,V>
Parameters:
key - the key.
newValues - the values to be added.

addAll

public void addAll(K key,
                   List<V> valueList)
Description copied from interface: MultivaluedMap
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.

Specified by:
addAll in interface MultivaluedMap<K,V>
Parameters:
key - the key.
valueList - the list of values to be added.

addFirst

public void addFirst(K key,
                     V value)
Description copied from interface: MultivaluedMap
Add a value to the first position in the current list of values for the supplied key.

Specified by:
addFirst in interface MultivaluedMap<K,V>
Parameters:
key - the key
value - the value to be added.

add

public final void add(K key,
                      V value)
Description copied from interface: MultivaluedMap
Add a value to the current list of values for the supplied key.

Specified by:
add in interface MultivaluedMap<K,V>
Parameters:
key - the key
value - the value to be added.

addMultiple

public final void addMultiple(K key,
                              Collection<V> values)

getFirst

public V getFirst(K key)
Description copied from interface: MultivaluedMap
A shortcut to get the first value of the supplied key.

Specified by:
getFirst in interface MultivaluedMap<K,V>
Parameters:
key - the key
Returns:
the first value for the specified key or null if the key is not in the map.

getList

public final List<V> getList(K key)

addAll

public void addAll(MultivaluedMapImpl<K,V> other)

equalsIgnoreValueOrder

public boolean equalsIgnoreValueOrder(MultivaluedMap<K,V> omap)
Description copied from interface: MultivaluedMap
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.

Specified by:
equalsIgnoreValueOrder in interface MultivaluedMap<K,V>
Parameters:
omap - map to be compared to this one.
Returns:
true if the maps are equal modulo value ordering.


Copyright © 2014. All rights reserved.