Class LayerManager.ExtendCheck
java.lang.Object
org.apache.commons.collections4.bloomfilter.LayerManager.ExtendCheck
- Enclosing class:
LayerManager<T extends BloomFilter<T>>
A collection of common ExtendCheck implementations to test whether to extend
the depth of a LayerManager.
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends BloomFilter<T>>
Predicate<LayerManager<T>> advanceOnCount
(int breakAt) Creates a new target after a specific number of filters have been added to the current target.static <T extends BloomFilter<T>>
Predicate<LayerManager<T>> Advances the target once a merge has been performed.static <T extends BloomFilter<T>>
Predicate<LayerManager<T>> advanceOnSaturation
(double maxN) Creates a new target after the current target is saturated.static <T extends BloomFilter<T>>
Predicate<LayerManager<T>> Does not automatically advance the target.
-
Method Details
-
advanceOnCount
Creates a new target after a specific number of filters have been added to the current target.- Type Parameters:
T
- Type of BloomFilter.- Parameters:
breakAt
- the number of filters to merge into each filter in the list.- Returns:
- A Predicate suitable for the LayerManager
extendCheck
parameter. - Throws:
IllegalArgumentException
- ifbreakAt <= 0
-
advanceOnPopulated
Advances the target once a merge has been performed.- Type Parameters:
T
- Type of BloomFilter.- Returns:
- A Predicate suitable for the LayerManager
extendCheck
parameter.
-
advanceOnSaturation
public static <T extends BloomFilter<T>> Predicate<LayerManager<T>> advanceOnSaturation(double maxN) Creates a new target after the current target is saturated. Saturation is defined as theBloom filter estimated N >= maxN
.An example usage is advancing on a calculated saturation by calling:
ExtendCheck.advanceOnSaturation(shape.estimateMaxN())
- Type Parameters:
T
- Type of BloomFilter.- Parameters:
maxN
- the maximum number of estimated items in the filter.- Returns:
- A Predicate suitable for the LayerManager
extendCheck
parameter. - Throws:
IllegalArgumentException
- ifmaxN <= 0
-
neverAdvance
Does not automatically advance the target. @{code next()} must be called directly to perform the advance.- Type Parameters:
T
- Type of BloomFilter.- Returns:
- A Predicate suitable for the LayerManager
extendCheck
parameter.
-