org.jgroups.blocks
Class LazyRemovalCache<K,V>

java.lang.Object
  extended by org.jgroups.blocks.LazyRemovalCache<K,V>

public class LazyRemovalCache<K,V>
extends java.lang.Object

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
static interface LazyRemovalCache.Printable<K,V>
           
 
Constructor Summary
LazyRemovalCache()
           
LazyRemovalCache(int max_elements, long max_age)
           
 
Method Summary
 void add(K key, V val)
           
 void clear(boolean force)
           
 boolean containsKey(K key)
           
 boolean containsKeys(java.util.Collection<K> keys)
          Returns true if all of the keys in keys are present.
 java.util.Map<K,V> contents()
           
 V get(K key)
           
 K getByValue(V val)
           
 java.util.Set<V> nonRemovedValues()
          Adds all value which have not been marked as removable to the returned set
 java.lang.String printCache()
           
 java.lang.String printCache(LazyRemovalCache.Printable print_function)
           
 void remove(K key)
           
 void remove(K key, boolean force)
           
 void removeAll(java.util.Collection<K> keys)
           
 void removeAll(java.util.Collection<K> keys, boolean force)
           
 void removeMarkedElements()
          Removes elements marked as removable
 void removeMarkedElements(boolean force)
          Removes elements marked as removable
 void retainAll(java.util.Collection<K> keys)
           
 void retainAll(java.util.Collection<K> keys, boolean force)
           
 int size()
           
 java.lang.String toString()
           
 java.util.Set<V> values()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LazyRemovalCache

public LazyRemovalCache()

LazyRemovalCache

public LazyRemovalCache(int max_elements,
                        long max_age)
Method Detail

add

public void add(K key,
                V val)

containsKey

public boolean containsKey(K key)

containsKeys

public boolean containsKeys(java.util.Collection<K> keys)
Returns true if all of the keys in keys are present. Returns false if one or more of the keys are absent


get

public V get(K key)

getByValue

public K getByValue(V val)

remove

public void remove(K key)

remove

public void remove(K key,
                   boolean force)

removeAll

public void removeAll(java.util.Collection<K> keys)

removeAll

public void removeAll(java.util.Collection<K> keys,
                      boolean force)

clear

public void clear(boolean force)

retainAll

public void retainAll(java.util.Collection<K> keys)

retainAll

public void retainAll(java.util.Collection<K> keys,
                      boolean force)

values

public java.util.Set<V> values()

nonRemovedValues

public java.util.Set<V> nonRemovedValues()
Adds all value which have not been marked as removable to the returned set

Returns:

contents

public java.util.Map<K,V> contents()

size

public int size()

printCache

public java.lang.String printCache()

printCache

public java.lang.String printCache(LazyRemovalCache.Printable print_function)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

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



Copyright © 1998-2012 Bela Ban / Red Hat. All Rights Reserved.