public abstract class AbstractValueAdaptingCache extends Object implements Cache
Cache implementations that need to adapt
 null values (and potentially other such special values) before
 passing them on to the underlying store.
 Transparently replaces given null user values with an internal
 NullValue.INSTANCE, if configured to support null values
 (as indicated by isAllowNullValues()).
Cache.ValueRetrievalException, Cache.ValueWrapper| Modifier | Constructor and Description | 
|---|---|
| protected  | AbstractValueAdaptingCache(boolean allowNullValues)Create an  AbstractValueAdaptingCachewith the given setting. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected Object | fromStoreValue(Object storeValue)Convert the given value from the internal store to a user value
 returned from the get method (adapting  null). | 
| Cache.ValueWrapper | get(Object key)Return the value to which this cache maps the specified key. | 
| <T> T | get(Object key,
   Class<T> type)Return the value to which this cache maps the specified key,
 generically specifying a type that return value will be cast to. | 
| boolean | isAllowNullValues()Return whether  nullvalues are allowed in this cache. | 
| protected abstract Object | lookup(Object key)Perform an actual lookup in the underlying store. | 
| protected Object | toStoreValue(Object userValue)Convert the given user value, as passed into the put method,
 to a value in the internal store (adapting  null). | 
| protected Cache.ValueWrapper | toValueWrapper(Object storeValue)Wrap the given store value with a  SimpleValueWrapper, also going
 throughfromStoreValue(java.lang.Object)conversion. | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclear, evict, evictIfPresent, get, getName, getNativeCache, invalidate, put, putIfAbsentprotected AbstractValueAdaptingCache(boolean allowNullValues)
AbstractValueAdaptingCache with the given setting.allowNullValues - whether to allow for null valuespublic final boolean isAllowNullValues()
null values are allowed in this cache.@Nullable public Cache.ValueWrapper get(Object key)
CacheReturns null if the cache contains no mapping for this key;
 otherwise, the cached value (which may be null itself) will
 be returned in a Cache.ValueWrapper.
get in interface Cachekey - the key whose associated value is to be returnedCache.ValueWrapper which may also hold
 a cached null value. A straight null being
 returned means that the cache contains no mapping for this key.Cache.get(Object, Class), 
Cache.get(Object, Callable)@Nullable public <T> T get(Object key, @Nullable Class<T> type)
CacheNote: This variant of get does not allow for differentiating
 between a cached null value and no cache entry found at all.
 Use the standard Cache.get(Object) variant for that purpose instead.
get in interface Cachekey - the key whose associated value is to be returnedtype - the required type of the returned value (may be
 null to bypass a type check; in case of a null
 value found in the cache, the specified type is irrelevant)null itself), or also null if
 the cache contains no mapping for this keyCache.get(Object)@Nullable protected abstract Object lookup(Object key)
key - the key whose associated value is to be returnednull if none@Nullable protected Object fromStoreValue(@Nullable Object storeValue)
null).storeValue - the store valueprotected Object toStoreValue(@Nullable Object userValue)
null).userValue - the given user value@Nullable protected Cache.ValueWrapper toValueWrapper(@Nullable Object storeValue)
SimpleValueWrapper, also going
 through fromStoreValue(java.lang.Object) conversion. Useful for get(Object)
 and Cache.putIfAbsent(Object, Object) implementations.storeValue - the original value