public abstract class ReferenceCache<K,V> extends ReferenceMap<K,V>
ReferenceMap to support lazy loading values by overriding
 create(Object).ReferenceMap.Strategy| Constructor and Description | 
|---|
| ReferenceCache()Equivalent to  new ReferenceCache(STRONG, STRONG). | 
| ReferenceCache(ReferenceType keyReferenceType,
              ReferenceType valueReferenceType) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | cancel()Cancels the current  create(Object). | 
| protected abstract V | create(K key)Override to lazy load values. | 
| V | get(Object key) | 
| static <K,V> ReferenceCache<K,V> | of(ReferenceType keyReferenceType,
  ReferenceType valueReferenceType,
  Function<? super K,? extends V> function)Returns a  ReferenceCachedelegating to the specifiedfunction. | 
clear, containsKey, containsValue, entrySet, getPutStrategy, isEmpty, keySet, put, putAll, putIfAbsent, putIfAbsentStrategy, putStrategy, remove, remove, replace, replace, replaceStrategy, size, valuesclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcompute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, replaceAllpublic ReferenceCache(ReferenceType keyReferenceType, ReferenceType valueReferenceType)
public ReferenceCache()
new ReferenceCache(STRONG, STRONG).protected abstract V create(K key)
ReferenceMap.put(Object, Object). Invoked by getter if value isn't already cached.
 Must not return null. This method will not be called again until
 the garbage collector reclaims the returned value.key - the keypublic V get(Object key)
 If this map does not contain an entry for the given key and create(Object) has been overridden, this method will create a new
 value, put it in the map, and return it.
 
get in interface Map<K,V>get in class ReferenceMap<K,V>key - the keyNullPointerException - if create(Object) returns null.CancellationException - if the creation is
                                                    cancelled. See cancel().protected void cancel()
create(Object). Throws CancellationException to all clients currently
 blocked on get(Object).public static <K,V> ReferenceCache<K,V> of(ReferenceType keyReferenceType, ReferenceType valueReferenceType, Function<? super K,? extends V> function)
ReferenceCache delegating to the specified function. The specified function must not return null.K - type of keyV - type of valuefunction - functionkeyReferenceType - key reference typevalueReferenceType - value reference typeCopyright © 2000–2025 Apache Software Foundation. All rights reserved.