Class LazyRemovalSet<V>

java.lang.Object
org.jgroups.blocks.LazyRemovalSet<V>

public class LazyRemovalSet<V> extends Object
Hash set 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
  • Constructor Details

    • LazyRemovalSet

      public LazyRemovalSet()
    • LazyRemovalSet

      public LazyRemovalSet(int max_elements, long max_age)
  • Method Details

    • add

      public void add(V val)
    • add

      public void add(V... vals)
    • add

      public void add(Collection<V> vals)
    • contains

      public boolean contains(V val)
    • remove

      public void remove(V val)
    • remove

      public void remove(V val, boolean force)
    • removeAll

      public void removeAll(Collection<V> values)
    • removeAll

      public void removeAll(Collection<V> values, boolean force)
    • clear

      public void clear(boolean force)
    • retainAll

      public void retainAll(Collection<V> values)
    • retainAll

      public void retainAll(Collection<V> values, boolean force)
    • values

      public Set<V> values()
    • nonRemovedValues

      public Set<V> nonRemovedValues()
      Adds all value which have not been marked as removable to the returned set
      Returns:
    • size

      public int size()
    • printCache

      public String printCache()
    • printCache

      public String printCache(LazyRemovalSet.Printable<V> print_function)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • find

      protected LazyRemovalSet.Entry<V> find(V val)
    • 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