Package org.infinispan.filter
Class CacheFilters
- java.lang.Object
-
- org.infinispan.filter.CacheFilters
-
public final class CacheFilters extends Object
Static factory class that contains utility methods that can be used for performing proper transformations fromKeyValueFilter,ConverterandKeyValueFilterConverterto appropriate distributed stream instances.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCacheFilters.CacheFiltersExternalizer
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <K,V,C>
Function<org.infinispan.container.entries.CacheEntry<K,V>,org.infinispan.container.entries.CacheEntry<K,C>>converterToFunction(KeyValueFilterConverter<? super K,? super V,C> filterConverter)Creates a newFunctionusing the provided filter convert.static <K,V,C>
Stream<org.infinispan.container.entries.CacheEntry<K,C>>filterAndConvert(Stream<org.infinispan.container.entries.CacheEntry<K,V>> stream, KeyValueFilterConverter<? super K,? super V,C> filterConverter)Adds needed intermediate operations to the provided stream, returning a possibly new stream as a result of the operations.static <K,V,C>
CacheStream<org.infinispan.container.entries.CacheEntry<K,C>>filterAndConvert(CacheStream<org.infinispan.container.entries.CacheEntry<K,V>> stream, KeyValueFilterConverter<? super K,? super V,C> filterConverter)static <K,V,C>
CacheStream<C>filterAndConvertToValue(CacheStream<org.infinispan.container.entries.CacheEntry<K,V>> stream, KeyValueFilterConverter<? super K,? super V,C> filterConverter)static <K,V,C>
Function<org.infinispan.container.entries.CacheEntry<K,V>,org.infinispan.container.entries.CacheEntry<K,C>>function(Converter<? super K,? super V,C> converter)Creates a newFunctionusing the provided converter as a basis for the operation.static <K,V>
Predicate<org.infinispan.container.entries.CacheEntry<K,V>>notNullCacheEntryPredicate()Provides a predicate that can be used to filter out null cache entry objects as well as placeholder "null" entries ofNullCacheEntrythat can be returned from methods such asconverterToFunction(KeyValueFilterConverter).static <K,V>
Predicate<org.infinispan.container.entries.CacheEntry<K,V>>predicate(KeyValueFilter<? super K,? super V> filter)Creates a newPredicateusing the provided key value filter as a basis for the operation.
-
-
-
Method Detail
-
predicate
public static <K,V> Predicate<org.infinispan.container.entries.CacheEntry<K,V>> predicate(KeyValueFilter<? super K,? super V> filter)
Creates a newPredicateusing the provided key value filter as a basis for the operation. This is useful for when usingStream.filter(Predicate)method on distributed streams. The key, value and metadata are all used to determine if the predicate returns true or not.- Type Parameters:
K- key typeV- value type- Parameters:
filter- the filter to utilize- Returns:
- predicate based on the filter
-
function
public static <K,V,C> Function<org.infinispan.container.entries.CacheEntry<K,V>,org.infinispan.container.entries.CacheEntry<K,C>> function(Converter<? super K,? super V,C> converter)
Creates a newFunctionusing the provided converter as a basis for the operation. This is useful for when usingStream.map(Function)method on distributed streams. The key, value and metadata are all used to determine the converted value.- Type Parameters:
K- key typeV- value typeC- converted value type- Parameters:
converter- the converter to utilize- Returns:
- function based on the converter
-
converterToFunction
public static <K,V,C> Function<org.infinispan.container.entries.CacheEntry<K,V>,org.infinispan.container.entries.CacheEntry<K,C>> converterToFunction(KeyValueFilterConverter<? super K,? super V,C> filterConverter)
Creates a newFunctionusing the provided filter convert. TheKeyValueFilterConverter.filterAndConvert(Object, Object, Metadata)is invoked for every passed in CacheEntry. When a null value is returned from the filter converter instead of a nullCacheEntrybeing returned, we instead return theNullCacheEntryas a sign of it. This allows thisFunctionto be used in cases when a null value cannot be returned, such as reactive streams.The
notNullCacheEntryPredicate()can be used to filter these values if needed.- Type Parameters:
K- key typeV- value typeC- converted value type- Parameters:
filterConverter- the filter converter to utilize- Returns:
- function based on the filter converter
-
notNullCacheEntryPredicate
public static <K,V> Predicate<org.infinispan.container.entries.CacheEntry<K,V>> notNullCacheEntryPredicate()
Provides a predicate that can be used to filter out null cache entry objects as well as placeholder "null" entries ofNullCacheEntrythat can be returned from methods such asconverterToFunction(KeyValueFilterConverter).- Type Parameters:
K- entry key typeV- entry value type- Returns:
- a predicate to filter null entries
-
filterAndConvertToValue
public static <K,V,C> CacheStream<C> filterAndConvertToValue(CacheStream<org.infinispan.container.entries.CacheEntry<K,V>> stream, KeyValueFilterConverter<? super K,? super V,C> filterConverter)
-
filterAndConvert
public static <K,V,C> Stream<org.infinispan.container.entries.CacheEntry<K,C>> filterAndConvert(Stream<org.infinispan.container.entries.CacheEntry<K,V>> stream, KeyValueFilterConverter<? super K,? super V,C> filterConverter)
Adds needed intermediate operations to the provided stream, returning a possibly new stream as a result of the operations. This method keeps the contract of filter and conversion being performed in only 1 call as theKeyValueFilterConverterwas designed to do. The key, value and metadata are all used to determine whether the value is returned and the converted value.- Type Parameters:
K-V-C-- Parameters:
stream- stream to perform the operations onfilterConverter- converter to apply- Returns:
-
filterAndConvert
public static <K,V,C> CacheStream<org.infinispan.container.entries.CacheEntry<K,C>> filterAndConvert(CacheStream<org.infinispan.container.entries.CacheEntry<K,V>> stream, KeyValueFilterConverter<? super K,? super V,C> filterConverter)
-
-