# Class LayerManager.Builder<T extends BloomFilter<T>>

java.lang.Object
org.apache.commons.collections4.bloomfilter.LayerManager.Builder<T>

Type Parameters:
  `T` - the `BloomFilter` type.

All Implemented Interfaces:
  `Supplier<LayerManager<T>>`

Enclosing class:
  `LayerManager<T extends BloomFilter<T>>`

public static class LayerManager.Builder<T extends BloomFilter<T>> extends Object implements Supplier<LayerManager<T>>
Builds new instances of `LayerManager`.

Since:
  4.5.0-M1

- ## Method Summary

  Modifier and Type
  Method
  Description
  `LayerManager<T>`
  `get()`
  Builds the layer manager with the specified properties.
  `LayerManager.Builder<T>`
  `setCleanup(Consumer<Deque<T>> cleanup)`
  Sets the Consumer that cleans the list of Bloom filters.
  `LayerManager.Builder<T>`
  `setExtendCheck(Predicate<LayerManager<T>> extendCheck)`
  Sets the extendCheck predicate.
  `LayerManager.Builder<T>`
  `setSupplier(Supplier<T> supplier)`
  Sets the supplier of Bloom filters.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### get

    public LayerManager<T> get()
    Builds the layer manager with the specified properties.
    Specified by:
      `get` in interface `Supplier<T extends BloomFilter<T>>`
    Returns:
      a new LayerManager.

  - ### setCleanup

    public LayerManager.Builder<T> setCleanup(Consumer<Deque<T>> cleanup)
    Sets the Consumer that cleans the list of Bloom filters.
    Parameters:
      `cleanup` - the Consumer that will modify the list of filters removing out dated or stale filters.
    Returns:
      `this` instance.

  - ### setExtendCheck

    public LayerManager.Builder<T> setExtendCheck(Predicate<LayerManager<T>> extendCheck)
    Sets the extendCheck predicate. When the predicate returns `true` a new target will be created.
    Parameters:
      `extendCheck` - The predicate to determine if a new target should be created.
    Returns:
      `this` instance.

  - ### setSupplier

    public LayerManager.Builder<T> setSupplier(Supplier<T> supplier)
    Sets the supplier of Bloom filters. When extendCheck creates a new target, the supplier provides the instance of the Bloom filter.
    Parameters:
      `supplier` - The supplier of new Bloom filter instances.
    Returns:
      `this` instance.