K
- key typeV
- value typepublic class LoaderCacheAsCacheAdapter<K,V> extends Object implements Cache<K,V>
LoaderCache<K,V>
as a Cache<K,V>
. This is done by
supplying a default CacheLoader
(specified in the constructor) to
LoaderCache.get(Object, CacheLoader)
.defaultParallelismThreshold
Constructor and Description |
---|
LoaderCacheAsCacheAdapter(LoaderCache<K,V> cache,
CacheLoader<K,V> loader) |
Modifier and Type | Method and Description |
---|---|
V |
get(K key) |
V |
getIfPresent(K key) |
void |
invalidate(K key)
Removes and discards the entry with the specified
key . |
void |
invalidateAll(long parallelismThreshold)
Removes and discards all entries.
|
void |
invalidateIf(long parallelismThreshold,
Predicate<K> condition)
Removes and discards all entries with keys matching
condition . |
void |
persist(K key)
TODO
Persist entry through any backing cache end eventually a CacheRemover.
|
void |
persistAll()
TODO
|
void |
persistIf(Predicate<K> condition)
TODO
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
invalidateAll, invalidateIf
public LoaderCacheAsCacheAdapter(LoaderCache<K,V> cache, CacheLoader<K,V> loader)
public V getIfPresent(K key)
getIfPresent
in interface AbstractCache<K,V>
public V get(K key) throws ExecutionException
get
in interface Cache<K,V>
get
in interface CacheLoader<K,V>
ExecutionException
public void persist(K key)
AbstractCache
key
.persist
in interface AbstractCache<K,V>
public void persistIf(Predicate<K> condition)
AbstractCache
persistIf
in interface AbstractCache<K,V>
condition
- condition on keys of entries to persistpublic void persistAll()
AbstractCache
persistAll
in interface AbstractCache<K,V>
public void invalidate(K key)
AbstractCache
key
.
Note that this will not call
CacheRemover.onRemoval(Object, Object)
for the discarded entry.
If this cache has a CacheRemover
, calls CacheRemover.invalidate(Object)
for the discarded
entry, (which should in turn remove it from any backing cache).
Note that this applies only when the whole cache has a CacheRemover
,
instead of each individual entry as in LoaderRemoverCache
.
There must be no concurrent get()
operations for key
.
This may result in cache corruption and/or a deadlock.
invalidate
in interface AbstractCache<K,V>
invalidate
in interface Invalidate<K>
key
- key of the entry to removepublic void invalidateIf(long parallelismThreshold, Predicate<K> condition)
AbstractCache
condition
.
Note that this will not call
CacheRemover.onRemoval(Object, Object)
for the discarded entries.
If this cache has a CacheRemover
, calls Invalidate.invalidateIf(Predicate)
for the discarded
entries, (which should in turn remove them from any backing cache).
Note that this applies only when the whole cache has a CacheRemover
,
instead of each individual entry as in LoaderRemoverCache
.
There must be no concurrent get()
operations for keys
matching condition
. This may result in cache corruption and/or a
deadlock.
invalidateIf
in interface AbstractCache<K,V>
invalidateIf
in interface Invalidate<K>
parallelismThreshold
- the (estimated) number of entries in the cache needed for this
operation to be executed in parallelcondition
- condition on keys of entries to removepublic void invalidateAll(long parallelismThreshold)
AbstractCache
Note that this will not call
CacheRemover.onRemoval(Object, Object)
for the discarded entries.
If this cache has a CacheRemover
, calls CacheRemover.invalidateAll(long)
(which should in turn invalidate any backing cache).
Note that this applies only when the whole cache has a CacheRemover
,
instead of each individual entry as in LoaderRemoverCache
.
There must be no concurrent get()
operations. This may
result in cache corruption and/or a deadlock.
invalidateAll
in interface AbstractCache<K,V>
invalidateAll
in interface Invalidate<K>
parallelismThreshold
- the (estimated) number of entries in the cache needed for this
operation to be executed in parallelCopyright © 2015–2022 ImgLib2. All rights reserved.