K
- key typeV
- value typepublic class LoaderRemoverCacheAsRemoverCacheAdapter<K,V,D> extends Object implements RemoverCache<K,V,D>
LoaderRemoverCache<K,V>
as a RemoverCache<K,V>
. This
is done by supplying a default CacheLoader
(specified in the
constructor) to
LoaderRemoverCache.get(Object, CacheLoader, CacheRemover)
.defaultParallelismThreshold
Constructor and Description |
---|
LoaderRemoverCacheAsRemoverCacheAdapter(LoaderRemoverCache<K,V,D> cache,
CacheLoader<K,V> loader) |
Modifier and Type | Method and Description |
---|---|
V |
get(K key,
CacheRemover<? super K,V,D> remover) |
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
mapKeys, withRemover
invalidateAll, invalidateIf
public LoaderRemoverCacheAsRemoverCacheAdapter(LoaderRemoverCache<K,V,D> cache, CacheLoader<K,V> loader)
public V getIfPresent(K key)
getIfPresent
in interface AbstractCache<K,V>
public V get(K key, CacheRemover<? super K,V,D> remover) throws ExecutionException
get
in interface RemoverCache<K,V,D>
ExecutionException
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 persist(K key)
AbstractCache
key
.persist
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.