Package org.jgroups.blocks
Class LazyRemovalCache<K,V>
java.lang.Object
org.jgroups.blocks.LazyRemovalCache<K,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 Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclear(boolean force) booleancontainsKey(K key) booleancontainsKeys(Collection<K> keys) Returns true if all of the keys in keys are present.contents()getByValue(V val) Adds 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)
-
-
Method Details
-
add
-
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
-
values
-
nonRemovedValues
Adds all value which have not been marked as removable to the returned set- Returns:
-
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
-