static class LocalCache.StrongValueReference<K,V> extends java.lang.Object implements LocalCache.ValueReference<K,V>
| Constructor and Description |
|---|
StrongValueReference(V referent) |
| Modifier and Type | Method and Description |
|---|---|
LocalCache.ValueReference<K,V> |
copyFor(java.lang.ref.ReferenceQueue<V> queue,
V value,
ReferenceEntry<K,V> entry)
Creates a copy of this reference for the given entry.
|
V |
get()
Returns the value.
|
ReferenceEntry<K,V> |
getEntry()
Returns the entry associated with this value reference, or
null if this value
reference is independent of any entry. |
int |
getWeight()
Returns the weight of this entry.
|
boolean |
isActive()
Returns true if this reference contains an active value, meaning one that is still considered
present in the cache.
|
boolean |
isLoading()
Returns true if a new value is currently loading, regardless of whether or not there is an
existing value.
|
void |
notifyNewValue(V newValue)
Notify pending loads that a new value was set.
|
V |
waitForValue()
Waits for a value that may still be loading.
|
final V referent
StrongValueReference(V referent)
public V get()
LocalCache.ValueReferenceget in interface LocalCache.ValueReference<K,V>public int getWeight()
LocalCache.ValueReferencegetWeight in interface LocalCache.ValueReference<K,V>public ReferenceEntry<K,V> getEntry()
LocalCache.ValueReferencenull if this value
reference is independent of any entry.getEntry in interface LocalCache.ValueReference<K,V>public LocalCache.ValueReference<K,V> copyFor(java.lang.ref.ReferenceQueue<V> queue, V value, ReferenceEntry<K,V> entry)
LocalCache.ValueReferencevalue may be null only for a loading reference.
copyFor in interface LocalCache.ValueReference<K,V>public boolean isLoading()
LocalCache.ValueReferenceisLoading in interface LocalCache.ValueReference<K,V>public boolean isActive()
LocalCache.ValueReferenceisActive in interface LocalCache.ValueReference<K,V>public V waitForValue()
LocalCache.ValueReferencewaitForValue in interface LocalCache.ValueReference<K,V>public void notifyNewValue(V newValue)
LocalCache.ValueReferencenotifyNewValue in interface LocalCache.ValueReference<K,V>