Class LazyRemovalCache<K,V>
java.lang.Object
org.jgroups.util.LazyRemovalCache<K,V>
- Type Parameters:
K- KV- V
Cache which doesn't remove elements on remove(), removeAll() or retainAll(), but only removes elements when a
configurable size limit has been exceeded. In that case, all elements marked as removable *and* older than a
configurable time are evicted. Elements are marked as removable by remove(), removeAll() and retainAll(). When
an elements is marked as removable, but later reinserted, the mark is removed.
- Author:
- Bela Ban
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic interface -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanprotected booleanvoidprotected voidvoidaddAllIfAbsent(Map<K, V> m) booleanaddIfAbsent(K key, V val) voidclear(boolean force) computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) booleancontainsKey(K key) booleancontainsKeys(Collection<K> keys) Returns true if all of the keys in keys are present.contents()contents(boolean skip_removed_values) entrySet()getByValue(V val) Returns a (non-removable) entry based on the valuekeySet()longmaxAge()Returns the max age in msintAdds all value which have not been marked as removable to the returned setprintCache(LazyRemovalCache.Printable print_function) voidvoidvoidremoveAll(Collection<K> keys) voidremoveAll(Collection<K> keys, boolean force) voidRemoves elements marked as removablevoidremoveMarkedElements(boolean force) Removes elements marked as removablevoidretainAll(Collection<K> keys) voidretainAll(Collection<K> keys, boolean force) intsize()toString()values()
-
Constructor Details
-
LazyRemovalCache
public LazyRemovalCache() -
LazyRemovalCache
public LazyRemovalCache(int max_elements, long max_age) Creates a new instance- Parameters:
max_elements- The max number of elements in the cachemax_age- The max age (in ms) an entry can have before it is considered expired (and can be removed on the next sweep)
-
-
Method Details
-
maxElements
public int maxElements() -
maxAge
public long maxAge()Returns the max age in ms -
add
-
addIfAbsent
-
computeIfAbsent
-
addAll
-
addAllIfAbsent
-
entrySet
-
containsKey
-
containsKeys
Returns true if all of the keys in keys are present. Returns false if one or more of the keys are absent -
get
-
getByValue
-
remove
-
remove
-
removeAll
-
removeAll
-
clear
public void clear(boolean force) -
retainAll
-
retainAll
-
keySet
-
values
-
valuesIterator
-
nonRemovedValues
-
contents
-
contents
-
size
public int size() -
printCache
-
printCache
-
toString
-
removeMarkedElements
public void removeMarkedElements(boolean force) Removes elements marked as removable- Parameters:
force- If set to true, all elements marked as 'removable' will get removed, regardless of expiration
-
removeMarkedElements
public void removeMarkedElements()Removes elements marked as removable -
add
-
addAll
-