org.omnaest.utils.structure.map
Class AggregatedMap<K,V>

java.lang.Object
  extended by org.omnaest.utils.structure.map.AggregatedMap<K,V>
Type Parameters:
K -
V -
All Implemented Interfaces:
Map<K,V>

public class AggregatedMap<K,V>
extends Object
implements Map<K,V>

The AggregatedMap allows to combine a List of Maps into a single one. The rule is, that keys are searched within Maps at the beginning of the List towards the end. This means if an earlier Map contains a key, the other Maps are ignored, even if there is a similar key available also.

Author:
Omnaest

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Constructor Summary
AggregatedMap(Iterable<? extends Map<K,V>> mapIterable)
           
AggregatedMap(Map<K,V>... maps)
           
AggregatedMap(Map<K,V> map)
           
 
Method Summary
 void clear()
           
 boolean containsKey(Object key)
           
 boolean containsValue(Object value)
           
 Set<Map.Entry<K,V>> entrySet()
           
 boolean equals(Object obj)
           
 V get(Object key)
           
 int hashCode()
           
 boolean isEmpty()
           
 Set<K> keySet()
           
 V put(K key, V value)
          Puts the value into all Maps which contains the given key already, or into the first Map otherwise
 void putAll(Map<? extends K,? extends V> m)
           
 V remove(Object key)
          Removes the key from all the Maps returning the value of the first occuring key value pair.
 int size()
           
 String toString()
           
 Collection<V> values()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AggregatedMap

public AggregatedMap(Iterable<? extends Map<K,V>> mapIterable)
Parameters:
mapIterable -
See Also:
AggregatedMap

AggregatedMap

public AggregatedMap(Map<K,V>... maps)
Parameters:
maps -
See Also:
AggregatedMap

AggregatedMap

public AggregatedMap(Map<K,V> map)
Parameters:
map -
See Also:
AggregatedMap
Method Detail

size

public int size()
Specified by:
size in interface Map<K,V>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Map<K,V>

containsKey

public boolean containsKey(Object key)
Specified by:
containsKey in interface Map<K,V>

containsValue

public boolean containsValue(Object value)
Specified by:
containsValue in interface Map<K,V>

get

public V get(Object key)
Specified by:
get in interface Map<K,V>

put

public V put(K key,
             V value)
Puts the value into all Maps which contains the given key already, or into the first Map otherwise

Specified by:
put in interface Map<K,V>

remove

public V remove(Object key)
Removes the key from all the Maps returning the value of the first occuring key value pair.

Specified by:
remove in interface Map<K,V>

putAll

public void putAll(Map<? extends K,? extends V> m)
Specified by:
putAll in interface Map<K,V>

clear

public void clear()
Specified by:
clear in interface Map<K,V>

keySet

public Set<K> keySet()
Specified by:
keySet in interface Map<K,V>

values

public Collection<V> values()
Specified by:
values in interface Map<K,V>

entrySet

public Set<Map.Entry<K,V>> entrySet()
Specified by:
entrySet in interface Map<K,V>

toString

public String toString()
Overrides:
toString in class Object

hashCode

public int hashCode()
Specified by:
hashCode in interface Map<K,V>
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Specified by:
equals in interface Map<K,V>
Overrides:
equals in class Object


Copyright © 2013. All Rights Reserved.