Class References.SoftValueReference<V>
java.lang.Object
java.lang.ref.Reference<T>
java.lang.ref.SoftReference<V>
com.github.benmanes.caffeine.cache.References.SoftValueReference<V>
- All Implemented Interfaces:
References.InternalReference<V>
- Enclosing class:
- References
static final class References.SoftValueReference<V>
extends SoftReference<V>
implements References.InternalReference<V>
The value in a cache that holds values softly. This class retains a reference to the key in
the advent that the value is reclaimed so that the entry can be removed from the cache in
constant time.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns the key that is associated to the cache entry holding this reference.int
hashCode()
Methods inherited from class java.lang.ref.SoftReference
get
Methods inherited from class java.lang.ref.Reference
clear, clone, enqueue, isEnqueued, reachabilityFence, refersTo
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.github.benmanes.caffeine.cache.References.InternalReference
get, referenceEquals
-
Field Details
-
keyReference
-
-
Constructor Details
-
SoftValueReference
public SoftValueReference(@Nonnull Object keyReference, @Nullable V value, @Nullable ReferenceQueue<V> queue)
-
-
Method Details
-
getKeyReference
Description copied from interface:References.InternalReference
Returns the key that is associated to the cache entry holding this reference. If the cache holds keys strongly, this is that key instance. Otherwise the cache holds keys weakly and theReferences.WeakKeyReference
is returned.- Specified by:
getKeyReference
in interfaceReferences.InternalReference<V>
- Returns:
- the key that is associated to the cached entry
-
equals
-
hashCode
public int hashCode()
-