Package org.keycloak.utils
Class StreamsUtil
- java.lang.Object
-
- org.keycloak.utils.StreamsUtil
-
public class StreamsUtil extends Object
-
-
Constructor Summary
Constructors Constructor Description StreamsUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> Stream<T>
closing(Stream<T> stream)
Returns the original stream that is closed on terminating operation.static <T> Predicate<T>
distinctByKey(Function<? super T,?> keyExtractor)
distinctByKey is not supposed to be used with parallel streams To make this method synchronized useConcurrentHashMap<Object, Boolean>
instead of HashSetstatic <T> Stream<T>
paginatedStream(Stream<T> originalStream, Integer first, Integer max)
static <T> Stream<T>
throwIfEmpty(Stream<T> stream, RuntimeException ex)
Returns the original stream if the stream is not empty.
-
-
-
Method Detail
-
closing
public static <T> Stream<T> closing(Stream<T> stream)
Returns the original stream that is closed on terminating operation. It is used, for example, for closing hibernate provided streams since it is required by hibernate documentation.- Parameters:
stream
- the stream which is expected to be closed on termination- Returns:
- stream that will be closed on terminating operation
-
throwIfEmpty
public static <T> Stream<T> throwIfEmpty(Stream<T> stream, RuntimeException ex)
Returns the original stream if the stream is not empty. Otherwise throws the provided exception.- Parameters:
stream
- Stream to be examined.ex
- Exception to be thrown if the stream is empty.- Returns:
- Stream
-
paginatedStream
public static <T> Stream<T> paginatedStream(Stream<T> originalStream, Integer first, Integer max)
Returns the original stream that is limited withskip
andlimit
functions based on values offirst
andmax
parameters.- Type Parameters:
T
- Type of items in the stream- Parameters:
originalStream
- Stream to be limited.first
- Index of first item to be returned by the stream. Ignored if negative, zeronull
.max
- Maximum number of items to be returned by the stream. Ignored if negative ornull
.- Returns:
- Stream
-
-