Package org.jboss.logmanager
Class CopyOnWriteWeakMap<K,V>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- org.jboss.logmanager.CopyOnWriteWeakMap<K,V>
-
- All Implemented Interfaces:
java.util.concurrent.ConcurrentMap<K,V>
,java.util.Map<K,V>
final class CopyOnWriteWeakMap<K,V> extends java.util.AbstractMap<K,V> implements java.util.concurrent.ConcurrentMap<K,V>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
CopyOnWriteWeakMap.Node<K,V>
private static class
CopyOnWriteWeakMap.Queue<K,V>
-
Field Summary
Fields Modifier and Type Field Description private static FastCopyHashMap
EMPTY
private FastCopyHashMap<K,CopyOnWriteWeakMap.Node<K,V>>
map
private CopyOnWriteWeakMap.Queue<K,V>
queue
-
Constructor Summary
Constructors Constructor Description CopyOnWriteWeakMap()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private FastCopyHashMap<K,CopyOnWriteWeakMap.Node<K,V>>
cleanCopyForMod()
private FastCopyHashMap<K,CopyOnWriteWeakMap.Node<K,V>>
cleanCopyForRemove()
void
clear()
boolean
containsKey(java.lang.Object key)
boolean
containsValue(java.lang.Object value)
private FastCopyHashMap<K,CopyOnWriteWeakMap.Node<K,V>>
empty()
java.util.Set<java.util.Map.Entry<K,V>>
entrySet()
V
get(java.lang.Object key)
boolean
isEmpty()
V
put(K key, V value)
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)
int
size()
-
Methods inherited from class java.util.AbstractMap
clone, equals, hashCode, keySet, putAll, toString, values
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
queue
private final CopyOnWriteWeakMap.Queue<K,V> queue
-
EMPTY
private static final FastCopyHashMap EMPTY
-
map
private volatile FastCopyHashMap<K,CopyOnWriteWeakMap.Node<K,V>> map
-
-
Method Detail
-
empty
private FastCopyHashMap<K,CopyOnWriteWeakMap.Node<K,V>> empty()
-
cleanCopyForRemove
private FastCopyHashMap<K,CopyOnWriteWeakMap.Node<K,V>> cleanCopyForRemove()
-
cleanCopyForMod
private FastCopyHashMap<K,CopyOnWriteWeakMap.Node<K,V>> cleanCopyForMod()
-
remove
public boolean remove(java.lang.Object key, java.lang.Object value)
-
size
public int size()
-
isEmpty
public boolean isEmpty()
-
containsKey
public boolean containsKey(java.lang.Object key)
-
containsValue
public boolean containsValue(java.lang.Object value)
-
get
public V get(java.lang.Object key)
-
remove
public V remove(java.lang.Object key)
-
clear
public void clear()
-
-