Class CacheFilters
java.lang.Object
org.infinispan.filter.CacheFilters
Static factory class that contains utility methods that can be used for performing proper transformations from
KeyValueFilter, Converter and KeyValueFilterConverter to appropriate distributed stream
instances.-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic <K,V, C> Function <CacheEntry<K, V>, CacheEntry<K, C>> converterToFunction(KeyValueFilterConverter<? super K, ? super V, C> filterConverter) Creates a newFunctionusing the provided filter convert.static <K,V, C> Stream <CacheEntry<K, C>> filterAndConvert(Stream<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 <CacheEntry<K, C>> filterAndConvert(CacheStream<CacheEntry<K, V>> stream, KeyValueFilterConverter<? super K, ? super V, C> filterConverter) static <K,V, C> CacheStream <K> filterAndConvertToKey(CacheStream<CacheEntry<K, V>> stream, KeyValueFilterConverter<? super K, ? super V, C> filterConverter) static <K,V, C> CacheStream <C> filterAndConvertToValue(CacheStream<CacheEntry<K, V>> stream, KeyValueFilterConverter<? super K, ? super V, C> filterConverter) static <K,V, C> Function <CacheEntry<K, V>, CacheEntry<K, C>> Creates a newFunctionusing the provided converter as a basis for the operation.static <K,V> Predicate <CacheEntry<K, V>> 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 <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 Details
-
predicate
public static <K,V> Predicate<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, Function<CacheEntry<K,C> V>, CacheEntry<K, functionC>> (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, Function<CacheEntry<K,C> V>, CacheEntry<K, converterToFunctionC>> (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
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
-
filterAndConvertToKey
public static <K,V, CacheStream<K> filterAndConvertToKeyC> (CacheStream<CacheEntry<K, V>> stream, KeyValueFilterConverter<? super K, ? super V, C> filterConverter) -
filterAndConvertToValue
public static <K,V, CacheStream<C> filterAndConvertToValueC> (CacheStream<CacheEntry<K, V>> stream, KeyValueFilterConverter<? super K, ? super V, C> filterConverter) -
filterAndConvert
public static <K,V, Stream<CacheEntry<K,C> C>> filterAndConvert(Stream<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, CacheStream<CacheEntry<K,C> C>> filterAndConvert(CacheStream<CacheEntry<K, V>> stream, KeyValueFilterConverter<? super K, ? super V, C> filterConverter)
-