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)
 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. | 
static <K,V> ReferenceCache<K,V> | 
of(ReferenceType keyReferenceType,
  ReferenceType valueReferenceType,
  Function<? super K,? extends V> function)
Returns a  
ReferenceCache delegating to the specified function. | 
clear, containsKey, containsValue, entrySet, getPutStrategy, isEmpty, keySet, put, putAll, putIfAbsent, putIfAbsentStrategy, putStrategy, remove, remove, replace, replace, replaceStrategy, size, valuespublic 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.public V get(Object key)
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>NullPointerException - 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.Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.