Package org.eclipse.net4j.util.ref
Class ReferenceValueMap2<K,V>
- java.lang.Object
- 
- java.util.AbstractMap<K,V>
- 
- org.eclipse.net4j.util.ref.ReferenceValueMap2<K,V>
 
 
- 
- All Implemented Interfaces:
- java.util.Map<K,V>
 - Direct Known Subclasses:
- ReferenceValueMap,- ReferenceValueMap2.Soft,- ReferenceValueMap2.Strong,- ReferenceValueMap2.Weak
 
 public abstract class ReferenceValueMap2<K,V> extends java.util.AbstractMap<K,V>AMapimplementation that usesKeyedReferenceinstances (KeyedStrongReference,KeyedSoftReference,KeyedWeakReferenceorKeyedPhantomReference) as its values.A ReferenceValueMapcan be used to cache mappings until the value of the mapping is no longer reachable from outside of the mapNote: This map is not synchronized. If it is to be used by multiple threads concurrently the user is responsible for applying proper external synchronization! - Since:
- 3.3
- Author:
- Eike Stepper
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classReferenceValueMap2.Soft<K,V>static classReferenceValueMap2.Strong<K,V>static classReferenceValueMap2.Weak<K,V>
 - 
Constructor SummaryConstructors Constructor Description ReferenceValueMap2()ReferenceValueMap2(java.util.Map<K,KeyedReference<K,V>> map)
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclear()booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)protected java.lang.ref.ReferenceQueue<V>createQueue()protected abstract KeyedReference<K,V>createReference(K key, V value, java.lang.ref.ReferenceQueue<V> queue)protected Vdereference(KeyedReference<K,V> ref)java.util.Set<java.util.Map.Entry<K,V>>entrySet()Vget(java.lang.Object key)protected intinternalPurgeQueue()booleanisEmpty()protected voidpurged(K key)protected voidpurgeQueue()Vput(K key, V value)Vremove(java.lang.Object key)java.util.List<K>removeAll(java.util.function.BiPredicate<K,V> predicate)intsize()- 
Methods inherited from class java.util.AbstractMapclone, equals, hashCode, keySet, putAll, toString, values
 
- 
 
- 
- 
- 
Constructor Detail- 
ReferenceValueMap2public ReferenceValueMap2() 
 - 
ReferenceValueMap2public ReferenceValueMap2(java.util.Map<K,KeyedReference<K,V>> map) 
 
- 
 - 
Method Detail- 
sizepublic int size() 
 - 
isEmptypublic boolean isEmpty() 
 - 
containsKeypublic boolean containsKey(java.lang.Object key) 
 - 
containsValuepublic boolean containsValue(java.lang.Object value) 
 - 
getpublic V get(java.lang.Object key) 
 - 
removepublic V remove(java.lang.Object key) 
 - 
removeAllpublic java.util.List<K> removeAll(java.util.function.BiPredicate<K,V> predicate) - Since:
- 3.16
 
 - 
clearpublic void clear() 
 - 
createQueueprotected java.lang.ref.ReferenceQueue<V> createQueue() 
 - 
internalPurgeQueueprotected int internalPurgeQueue() - Since:
- 3.7
 
 - 
purgeQueueprotected void purgeQueue() 
 - 
purgedprotected void purged(K key) 
 - 
dereferenceprotected V dereference(KeyedReference<K,V> ref) 
 
- 
 
-