Class References.WeakKeyReference<K>
- java.lang.Object
-
- java.lang.ref.Reference<T>
-
- java.lang.ref.WeakReference<K>
-
- com.github.benmanes.caffeine.cache.References.WeakKeyReference<K>
-
- All Implemented Interfaces:
References.InternalReference<K>
- Enclosing class:
- References
static class References.WeakKeyReference<K> extends java.lang.ref.WeakReference<K> implements References.InternalReference<K>
The key in a cache that holds keys weakly. This class retains the key's identity hash code in the advent that the key is reclaimed so that the entry can be removed from the cache in constant time.
-
-
Field Summary
Fields Modifier and Type Field Description private inthashCode
-
Constructor Summary
Constructors Constructor Description WeakKeyReference(@Nullable K key, @Nullable java.lang.ref.ReferenceQueue<K> queue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object object)java.lang.ObjectgetKeyReference()Returns the key that is associated to the cache entry holding this reference.inthashCode()-
Methods inherited from class java.lang.ref.Reference
clear, clone, enqueue, get, isEnqueued, reachabilityFence
-
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
-
-
-
-
Method Detail
-
getKeyReference
public java.lang.Object getKeyReference()
Description copied from interface:References.InternalReferenceReturns 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.WeakKeyReferenceis returned.- Specified by:
getKeyReferencein interfaceReferences.InternalReference<K>- Returns:
- the key that is associated to the cached entry
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-