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
,Converter
andKeyValueFilterConverter
to appropriate distributed stream instances.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CacheFilters.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 newFunction
using 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 newFunction
using 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 ofNullCacheEntry
that 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 newPredicate
using 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 newPredicate
using 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 newFunction
using 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 newFunction
using 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 nullCacheEntry
being returned, we instead return theNullCacheEntry
as a sign of it. This allows thisFunction
to 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 ofNullCacheEntry
that 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 theKeyValueFilterConverter
was 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)
-
-