Class LayerManager.Cleanup

java.lang.Object
org.apache.commons.collections4.bloomfilter.LayerManager.Cleanup
Enclosing class:
LayerManager<T extends BloomFilter>

public static final class LayerManager.Cleanup extends Object
Static methods to create a Consumer of a List of BloomFilter perform tests on whether to reduce the collection of Bloom filters.
  • Method Details

    • noCleanup

      public static <T extends BloomFilter> Consumer<Deque<T>> noCleanup()
      A Cleanup that never removes anything.
      Type Parameters:
      T - Type of BloomFilter.
      Returns:
      A Consumer suitable for the LayerManager cleanup parameter.
    • onMaxSize

      public static <T extends BloomFilter> Consumer<Deque<T>> onMaxSize(int maxSize)
      Removes the earliest filters in the list when the the number of filters exceeds maxSize.
      Type Parameters:
      T - Type of BloomFilter.
      Parameters:
      maxSize - the maximum number of filters for the list. Must be greater than 0
      Returns:
      A Consumer suitable for the LayerManager cleanup parameter.
      Throws:
      IllegalArgumentException - if maxSize <= 0.
    • removeEmptyTarget

      public static <T extends BloomFilter> Consumer<Deque<T>> removeEmptyTarget()
      Removes the last added target if it is empty. Useful as the first in a chain of cleanup consumers. (e.g. Cleanup.removeEmptyTarget.andThen( otherConsumer ))
      Type Parameters:
      T - Type of BloomFilter.
      Returns:
      A Consumer suitable for the LayerManager cleanup parameter.
    • removeIf

      public static <T extends BloomFilter> Consumer<Deque<T>> removeIf(Predicate<? super T> test)
      Removes any layer identified by the predicate.
      Type Parameters:
      T - Type of BloomFilter.
      Parameters:
      test - Predicate.
      Returns:
      A Consumer suitable for the LayerManager cleanup parameter.