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 classCopyOnWriteWeakMap.Node<K,V>private static classCopyOnWriteWeakMap.Queue<K,V>
-
Field Summary
Fields Modifier and Type Field Description private static FastCopyHashMapEMPTYprivate FastCopyHashMap<K,CopyOnWriteWeakMap.Node<K,V>>mapprivate 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()voidclear()booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)private FastCopyHashMap<K,CopyOnWriteWeakMap.Node<K,V>>empty()java.util.Set<java.util.Map.Entry<K,V>>entrySet()Vget(java.lang.Object key)booleanisEmpty()Vput(K key, V value)VputIfAbsent(K key, V value)Vremove(java.lang.Object key)booleanremove(java.lang.Object key, java.lang.Object value)Vreplace(K key, V value)booleanreplace(K key, V oldValue, V newValue)intsize()-
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()
-
-