Package org.hibernate.query.spi
Class StreamDecorator<R>
- java.lang.Object
-
- org.hibernate.query.spi.StreamDecorator<R>
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,java.util.stream.BaseStream<R,java.util.stream.Stream<R>>
,java.util.stream.Stream<R>
public class StreamDecorator<R> extends java.lang.Object implements java.util.stream.Stream<R>
TheStreamDecorator
wraps a JavaStream
and registers acloseHandler
which is passed further to any resultingStream
. The goal of theStreamDecorator
is to close the underlyingStream
upon calling a terminal operation.- Since:
- 5.4
-
-
Constructor Summary
Constructors Constructor Description StreamDecorator(java.util.stream.Stream<R> delegate, java.lang.Runnable closeHandler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
allMatch(java.util.function.Predicate<? super R> predicate)
boolean
anyMatch(java.util.function.Predicate<? super R> predicate)
void
close()
<R1> R1
collect(java.util.function.Supplier<R1> supplier, java.util.function.BiConsumer<R1,? super R> accumulator, java.util.function.BiConsumer<R1,R1> combiner)
<R1,A>
R1collect(java.util.stream.Collector<? super R,A,R1> collector)
long
count()
java.util.stream.Stream<R>
distinct()
java.util.stream.Stream<R>
dropWhile(java.util.function.Predicate<? super R> predicate)
java.util.stream.Stream<R>
filter(java.util.function.Predicate<? super R> predicate)
java.util.Optional<R>
findAny()
java.util.Optional<R>
findFirst()
<R1> java.util.stream.Stream<R1>
flatMap(java.util.function.Function<? super R,? extends java.util.stream.Stream<? extends R1>> mapper)
java.util.stream.DoubleStream
flatMapToDouble(java.util.function.Function<? super R,? extends java.util.stream.DoubleStream> mapper)
java.util.stream.IntStream
flatMapToInt(java.util.function.Function<? super R,? extends java.util.stream.IntStream> mapper)
java.util.stream.LongStream
flatMapToLong(java.util.function.Function<? super R,? extends java.util.stream.LongStream> mapper)
void
forEach(java.util.function.Consumer<? super R> action)
void
forEachOrdered(java.util.function.Consumer<? super R> action)
boolean
isParallel()
java.util.Iterator<R>
iterator()
java.util.stream.Stream<R>
limit(long maxSize)
<R1> java.util.stream.Stream<R1>
map(java.util.function.Function<? super R,? extends R1> mapper)
java.util.stream.DoubleStream
mapToDouble(java.util.function.ToDoubleFunction<? super R> mapper)
java.util.stream.IntStream
mapToInt(java.util.function.ToIntFunction<? super R> mapper)
java.util.stream.LongStream
mapToLong(java.util.function.ToLongFunction<? super R> mapper)
java.util.Optional<R>
max(java.util.Comparator<? super R> comparator)
java.util.Optional<R>
min(java.util.Comparator<? super R> comparator)
boolean
noneMatch(java.util.function.Predicate<? super R> predicate)
java.util.stream.Stream<R>
onClose(java.lang.Runnable closeHandler)
java.util.stream.Stream<R>
parallel()
java.util.stream.Stream<R>
peek(java.util.function.Consumer<? super R> action)
java.util.Optional<R>
reduce(java.util.function.BinaryOperator<R> accumulator)
R
reduce(R identity, java.util.function.BinaryOperator<R> accumulator)
<U> U
reduce(U identity, java.util.function.BiFunction<U,? super R,U> accumulator, java.util.function.BinaryOperator<U> combiner)
java.util.stream.Stream<R>
sequential()
java.util.stream.Stream<R>
skip(long n)
java.util.stream.Stream<R>
sorted()
java.util.stream.Stream<R>
sorted(java.util.Comparator<? super R> comparator)
java.util.Spliterator<R>
spliterator()
java.util.stream.Stream<R>
takeWhile(java.util.function.Predicate<? super R> predicate)
java.lang.Object[]
toArray()
<A> A[]
toArray(java.util.function.IntFunction<A[]> generator)
java.util.stream.Stream<R>
unordered()
-
-
-
Constructor Detail
-
StreamDecorator
public StreamDecorator(java.util.stream.Stream<R> delegate, java.lang.Runnable closeHandler)
-
-
Method Detail
-
filter
public java.util.stream.Stream<R> filter(java.util.function.Predicate<? super R> predicate)
- Specified by:
filter
in interfacejava.util.stream.Stream<R>
-
map
public <R1> java.util.stream.Stream<R1> map(java.util.function.Function<? super R,? extends R1> mapper)
- Specified by:
map
in interfacejava.util.stream.Stream<R>
-
mapToInt
public java.util.stream.IntStream mapToInt(java.util.function.ToIntFunction<? super R> mapper)
- Specified by:
mapToInt
in interfacejava.util.stream.Stream<R>
-
mapToLong
public java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction<? super R> mapper)
- Specified by:
mapToLong
in interfacejava.util.stream.Stream<R>
-
mapToDouble
public java.util.stream.DoubleStream mapToDouble(java.util.function.ToDoubleFunction<? super R> mapper)
- Specified by:
mapToDouble
in interfacejava.util.stream.Stream<R>
-
flatMap
public <R1> java.util.stream.Stream<R1> flatMap(java.util.function.Function<? super R,? extends java.util.stream.Stream<? extends R1>> mapper)
- Specified by:
flatMap
in interfacejava.util.stream.Stream<R>
-
flatMapToInt
public java.util.stream.IntStream flatMapToInt(java.util.function.Function<? super R,? extends java.util.stream.IntStream> mapper)
- Specified by:
flatMapToInt
in interfacejava.util.stream.Stream<R>
-
flatMapToLong
public java.util.stream.LongStream flatMapToLong(java.util.function.Function<? super R,? extends java.util.stream.LongStream> mapper)
- Specified by:
flatMapToLong
in interfacejava.util.stream.Stream<R>
-
flatMapToDouble
public java.util.stream.DoubleStream flatMapToDouble(java.util.function.Function<? super R,? extends java.util.stream.DoubleStream> mapper)
- Specified by:
flatMapToDouble
in interfacejava.util.stream.Stream<R>
-
distinct
public java.util.stream.Stream<R> distinct()
- Specified by:
distinct
in interfacejava.util.stream.Stream<R>
-
sorted
public java.util.stream.Stream<R> sorted()
- Specified by:
sorted
in interfacejava.util.stream.Stream<R>
-
sorted
public java.util.stream.Stream<R> sorted(java.util.Comparator<? super R> comparator)
- Specified by:
sorted
in interfacejava.util.stream.Stream<R>
-
peek
public java.util.stream.Stream<R> peek(java.util.function.Consumer<? super R> action)
- Specified by:
peek
in interfacejava.util.stream.Stream<R>
-
limit
public java.util.stream.Stream<R> limit(long maxSize)
- Specified by:
limit
in interfacejava.util.stream.Stream<R>
-
skip
public java.util.stream.Stream<R> skip(long n)
- Specified by:
skip
in interfacejava.util.stream.Stream<R>
-
forEach
public void forEach(java.util.function.Consumer<? super R> action)
- Specified by:
forEach
in interfacejava.util.stream.Stream<R>
-
forEachOrdered
public void forEachOrdered(java.util.function.Consumer<? super R> action)
- Specified by:
forEachOrdered
in interfacejava.util.stream.Stream<R>
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArray
in interfacejava.util.stream.Stream<R>
-
toArray
public <A> A[] toArray(java.util.function.IntFunction<A[]> generator)
- Specified by:
toArray
in interfacejava.util.stream.Stream<R>
-
reduce
public R reduce(R identity, java.util.function.BinaryOperator<R> accumulator)
- Specified by:
reduce
in interfacejava.util.stream.Stream<R>
-
reduce
public java.util.Optional<R> reduce(java.util.function.BinaryOperator<R> accumulator)
- Specified by:
reduce
in interfacejava.util.stream.Stream<R>
-
reduce
public <U> U reduce(U identity, java.util.function.BiFunction<U,? super R,U> accumulator, java.util.function.BinaryOperator<U> combiner)
- Specified by:
reduce
in interfacejava.util.stream.Stream<R>
-
collect
public <R1> R1 collect(java.util.function.Supplier<R1> supplier, java.util.function.BiConsumer<R1,? super R> accumulator, java.util.function.BiConsumer<R1,R1> combiner)
- Specified by:
collect
in interfacejava.util.stream.Stream<R>
-
collect
public <R1,A> R1 collect(java.util.stream.Collector<? super R,A,R1> collector)
- Specified by:
collect
in interfacejava.util.stream.Stream<R>
-
min
public java.util.Optional<R> min(java.util.Comparator<? super R> comparator)
- Specified by:
min
in interfacejava.util.stream.Stream<R>
-
max
public java.util.Optional<R> max(java.util.Comparator<? super R> comparator)
- Specified by:
max
in interfacejava.util.stream.Stream<R>
-
count
public long count()
- Specified by:
count
in interfacejava.util.stream.Stream<R>
-
anyMatch
public boolean anyMatch(java.util.function.Predicate<? super R> predicate)
- Specified by:
anyMatch
in interfacejava.util.stream.Stream<R>
-
allMatch
public boolean allMatch(java.util.function.Predicate<? super R> predicate)
- Specified by:
allMatch
in interfacejava.util.stream.Stream<R>
-
noneMatch
public boolean noneMatch(java.util.function.Predicate<? super R> predicate)
- Specified by:
noneMatch
in interfacejava.util.stream.Stream<R>
-
findFirst
public java.util.Optional<R> findFirst()
- Specified by:
findFirst
in interfacejava.util.stream.Stream<R>
-
findAny
public java.util.Optional<R> findAny()
- Specified by:
findAny
in interfacejava.util.stream.Stream<R>
-
iterator
public java.util.Iterator<R> iterator()
-
spliterator
public java.util.Spliterator<R> spliterator()
-
isParallel
public boolean isParallel()
-
sequential
public java.util.stream.Stream<R> sequential()
-
parallel
public java.util.stream.Stream<R> parallel()
-
unordered
public java.util.stream.Stream<R> unordered()
-
onClose
public java.util.stream.Stream<R> onClose(java.lang.Runnable closeHandler)
-
close
public void close()
-
takeWhile
public java.util.stream.Stream<R> takeWhile(java.util.function.Predicate<? super R> predicate)
- Specified by:
takeWhile
in interfacejava.util.stream.Stream<R>
-
-