Class CompositeMap<K,V>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- com.atlassian.confluence.util.collections.CompositeMap<K,V>
-
- All Implemented Interfaces:
Map<K,V>
@NotThreadSafe public class CompositeMap<K,V> extends AbstractMap<K,V> implements Map<K,V>
Provides a union view of two maps.Changes made to this map will only be made on the first map.
Note that CompositeMap is not synchronized and is not thread-safe. If you wish to use this map from multiple threads concurrently, you must use appropriate synchronization. The simplest approach is to wrap this map using
Collections.synchronizedMap(Map)
. This class will behave in an unspecified manner if accessed by concurrent threads without synchronization.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object,V extends Object>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsKey(Object key)
Set<Map.Entry<K,V>>
entrySet()
V
get(Object key)
boolean
isEmpty()
Set<K>
keySet()
static <K,V>
Map<K,V>of(Map<K,V> one, Map<K,V> two)
Create a new CompositeMap with two composited Map instances.V
put(K key, V value)
V
remove(Object key)
-
Methods inherited from class java.util.AbstractMap
clear, clone, containsValue, equals, hashCode, putAll, size, toString, values
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsValue, equals, forEach, getOrDefault, hashCode, merge, putAll, putIfAbsent, remove, replace, replace, replaceAll, size, values
-
-
-
-
Method Detail
-
of
public static <K,V> Map<K,V> of(Map<K,V> one, Map<K,V> two)
Create a new CompositeMap with two composited Map instances.- Parameters:
one
- the first Map to be composited, values here override values in the second.two
- the second Map to be composited- Returns:
- the CompositeMap
- Throws:
IllegalArgumentException
- if there is a key collision
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interfaceMap<K,V>
- Overrides:
containsKey
in classAbstractMap<K,V>
-
isEmpty
public boolean isEmpty()
-
-