Package com.google.common.collect
Class MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>
- java.lang.Object
-
- java.lang.ref.Reference<T>
-
- java.lang.ref.WeakReference<K>
-
- com.google.common.collect.MapMakerInternalMap.AbstractWeakKeyEntry<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>>
-
- com.google.common.collect.MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>
-
- All Implemented Interfaces:
MapMakerInternalMap.InternalEntry<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>>
,MapMakerInternalMap.WeakValueEntry<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>>
- Enclosing class:
- MapMakerInternalMap<K,V,E extends MapMakerInternalMap.InternalEntry<K,V,E>,S extends MapMakerInternalMap.Segment<K,V,E,S>>
static final class MapMakerInternalMap.WeakKeyWeakValueEntry<K,V> extends MapMakerInternalMap.AbstractWeakKeyEntry<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>> implements MapMakerInternalMap.WeakValueEntry<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>>
Concrete implementation ofMapMakerInternalMap.InternalEntry
for weak keys and weak values.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
MapMakerInternalMap.WeakKeyWeakValueEntry.Helper<K,V>
Concrete implementation ofMapMakerInternalMap.InternalEntryHelper
for weak keys and weak values.
-
Field Summary
Fields Modifier and Type Field Description private MapMakerInternalMap.WeakValueReference<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>>
valueReference
-
Fields inherited from class com.google.common.collect.MapMakerInternalMap.AbstractWeakKeyEntry
hash, next
-
-
Constructor Summary
Constructors Constructor Description WeakKeyWeakValueEntry(java.lang.ref.ReferenceQueue<K> queue, K key, int hash, MapMakerInternalMap.WeakKeyWeakValueEntry<K,V> next)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearValue()
Clears the weak value reference held by the entry.(package private) MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>
copy(java.lang.ref.ReferenceQueue<K> queueForKeys, java.lang.ref.ReferenceQueue<V> queueForValues, MapMakerInternalMap.WeakKeyWeakValueEntry<K,V> newNext)
V
getValue()
Gets the value for the entry.MapMakerInternalMap.WeakValueReference<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>>
getValueReference()
Gets the weak value reference held by entry.(package private) void
setValue(V value, java.lang.ref.ReferenceQueue<V> queueForValues)
-
Methods inherited from class com.google.common.collect.MapMakerInternalMap.AbstractWeakKeyEntry
getHash, getKey, getNext
-
Methods inherited from class java.lang.ref.Reference
clear, clone, enqueue, get, isEnqueued, reachabilityFence
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.google.common.collect.MapMakerInternalMap.InternalEntry
getHash, getKey, getNext
-
-
-
-
Field Detail
-
valueReference
private volatile MapMakerInternalMap.WeakValueReference<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>> valueReference
-
-
Constructor Detail
-
WeakKeyWeakValueEntry
WeakKeyWeakValueEntry(java.lang.ref.ReferenceQueue<K> queue, K key, int hash, @Nullable MapMakerInternalMap.WeakKeyWeakValueEntry<K,V> next)
-
-
Method Detail
-
getValue
public V getValue()
Description copied from interface:MapMakerInternalMap.InternalEntry
Gets the value for the entry.- Specified by:
getValue
in interfaceMapMakerInternalMap.InternalEntry<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>>
-
copy
MapMakerInternalMap.WeakKeyWeakValueEntry<K,V> copy(java.lang.ref.ReferenceQueue<K> queueForKeys, java.lang.ref.ReferenceQueue<V> queueForValues, MapMakerInternalMap.WeakKeyWeakValueEntry<K,V> newNext)
-
clearValue
public void clearValue()
Description copied from interface:MapMakerInternalMap.WeakValueEntry
Clears the weak value reference held by the entry. Should be used when the entry's value is overwritten.- Specified by:
clearValue
in interfaceMapMakerInternalMap.WeakValueEntry<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>>
-
getValueReference
public MapMakerInternalMap.WeakValueReference<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>> getValueReference()
Description copied from interface:MapMakerInternalMap.WeakValueEntry
Gets the weak value reference held by entry.- Specified by:
getValueReference
in interfaceMapMakerInternalMap.WeakValueEntry<K,V,MapMakerInternalMap.WeakKeyWeakValueEntry<K,V>>
-
-