public class WeakReferenceCache extends Object implements Cache
Cache.EntryListener, Cache.EntryListenerAdapter
Constructor and Description |
---|
WeakReferenceCache() |
Modifier and Type | Method and Description |
---|---|
<T> T |
computeIfAbsent(Object key,
Supplier<T> valueSupplier)
Returns the value under the given
key in the cache. |
<V> void |
computeIfPresent(Object key,
UnaryOperator<V> update)
Perform the
update in the value behind the given key . |
boolean |
containsKey(Object key)
Indicates whether there is an item stored under given
key . |
<K,V> V |
get(K key)
Returns an item from the cache, or
null if no item was stored under that key |
void |
put(Object key,
Object value)
Stores the given
value in the cache, under given key . |
boolean |
putIfAbsent(Object key,
Object value)
Stores the given
value in the cache, under given key , if no element is yet available under that
key. |
Registration |
registerCacheEntryListener(Cache.EntryListener entryListener)
Registers the given
cacheEntryListener to listen for Cache changes. |
boolean |
remove(Object key)
Removes the entry stored under given
key . |
void |
removeAll()
Remove all stored entries in this cache.
|
public Registration registerCacheEntryListener(Cache.EntryListener entryListener)
Cache
cacheEntryListener
to listen for Cache changes.registerCacheEntryListener
in interface Cache
entryListener
- The listener to registerpublic <K,V> V get(K key)
Cache
null
if no item was stored under that keypublic void put(Object key, Object value)
Cache
value
in the cache, under given key
. If an item already exists, it is updated
with the new value.public boolean putIfAbsent(Object key, Object value)
Cache
value
in the cache, under given key
, if no element is yet available under that
key. This operation is performed atomically.putIfAbsent
in interface Cache
key
- The key under which to store the itemvalue
- The item to cachetrue
if no value was previously assigned to the key, false
otherwise.public <T> T computeIfAbsent(Object key, Supplier<T> valueSupplier)
Cache
key
in the cache. If there is no value present, will invoke the given
valueSupplier
, put the value in the cache and return the produced value.computeIfAbsent
in interface Cache
key
- The key under which the item was cached. If not present, this key is used to cache the
outcome of the valueSupplier
.valueSupplier
- A supplier that lazily supplies the value if there's no key
present.valueSupplier
.public boolean remove(Object key)
Cache
key
. If no such entry exists, nothing happens.public void removeAll()
Cache
public boolean containsKey(Object key)
Cache
key
.containsKey
in interface Cache
key
- The key to checktrue
if an item is available under that key, false
otherwise.public <V> void computeIfPresent(Object key, UnaryOperator<V> update)
Cache
update
in the value behind the given key
. The update
is only executed if
there's an entry referencing the key
.computeIfPresent
in interface Cache
V
- The type of the value to execute the update
for.key
- The key to perform an update for, if not empty.update
- The update to perform if the key
is present.Copyright © 2010–2023. All rights reserved.