public interface AbstractCache<K,V> extends Invalidate<K>
defaultParallelismThreshold
Modifier and Type | Method and Description |
---|---|
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
|
invalidateAll, invalidateIf
void persist(K key)
key
.key
- void persistIf(Predicate<K> condition)
condition
- condition on keys of entries to persistvoid persistAll()
void invalidate(K key)
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 Invalidate<K>
key
- key of the entry to removevoid invalidateIf(long parallelismThreshold, Predicate<K> condition)
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 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 removevoid invalidateAll(long parallelismThreshold)
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 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.