K
- The key typeV
- The value typeM
- the internal Map
or extension for things like sorted and navigable maps.@ThreadSafe abstract class AbstractCopyOnWriteMap<K,V,M extends java.util.Map<K,V>> extends java.lang.Object implements java.util.concurrent.ConcurrentMap<K,V>
Map
implementations that delegate to an internal map.Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractCopyOnWriteMap.CollectionView<E> |
private class |
AbstractCopyOnWriteMap.EntrySet |
(package private) class |
AbstractCopyOnWriteMap.Immutable |
private class |
AbstractCopyOnWriteMap.KeySet |
(package private) class |
AbstractCopyOnWriteMap.Mutable |
private static class |
AbstractCopyOnWriteMap.UnmodifiableIterator<T> |
private class |
AbstractCopyOnWriteMap.Values |
static class |
AbstractCopyOnWriteMap.View<K,V>
Provides access to the views of the underlying key, value and entry collections.
|
Modifier and Type | Field and Description |
---|---|
private M |
delegate |
private java.util.concurrent.locks.Lock |
lock |
private AbstractCopyOnWriteMap.View<K,V> |
view |
Modifier | Constructor and Description |
---|---|
protected |
AbstractCopyOnWriteMap(N map,
AbstractCopyOnWriteMap.View.Type viewType)
Create a new
CopyOnWriteMap with the supplied Map to initialize the values. |
Modifier and Type | Method and Description |
---|---|
void |
clear() |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
protected M |
copy() |
(package private) abstract <N extends java.util.Map<? extends K,? extends V>> |
copy(N map)
Copy function, implemented by sub-classes.
|
java.util.Set<java.util.Map.Entry<K,V>> |
entrySet() |
boolean |
equals(java.lang.Object o) |
private boolean |
equals(java.lang.Object o1,
java.lang.Object o2) |
V |
get(java.lang.Object key) |
protected M |
getDelegate() |
int |
hashCode() |
boolean |
isEmpty() |
java.util.Set<K> |
keySet() |
V |
put(K key,
V value) |
void |
putAll(java.util.Map<? extends K,? extends V> t) |
V |
putIfAbsent(K key,
V value) |
V |
remove(java.lang.Object key) |
boolean |
remove(java.lang.Object key,
java.lang.Object value) |
V |
replace(K key,
V value) |
boolean |
replace(K key,
V oldValue,
V newValue) |
protected void |
set(M map) |
int |
size() |
java.lang.String |
toString() |
java.util.Collection<V> |
values() |
private final transient java.util.concurrent.locks.Lock lock
private final AbstractCopyOnWriteMap.View<K,V> view
protected AbstractCopyOnWriteMap(N map, AbstractCopyOnWriteMap.View.Type viewType)
CopyOnWriteMap
with the supplied Map
to initialize the values.map
- the initial map to initialize withviewType
- for writable or read-only key, value and entrySet viewsabstract <N extends java.util.Map<? extends K,? extends V>> M copy(N map)
N
- the map to copy and return.map
- the initial values of the newly created map.public final V remove(java.lang.Object key)
public boolean remove(java.lang.Object key, java.lang.Object value)
protected M copy()
protected void set(M map)
public final java.util.Collection<V> values()
public final boolean containsKey(java.lang.Object key)
public final boolean containsValue(java.lang.Object value)
public final boolean equals(java.lang.Object o)
public final int hashCode()
protected final M getDelegate()
public java.lang.String toString()
toString
in class java.lang.Object
private boolean equals(java.lang.Object o1, java.lang.Object o2)