Package one.util.streamex
Class StreamContext
- java.lang.Object
-
- one.util.streamex.StreamContext
-
class StreamContext extends java.lang.Object
This class controls stream execution mode (parallel/sequential), custom FJP and close handlers.Fields are package-private and mutable, but it's forbidden to change them from outside this class.
For performance reasons shared objects SEQUENTIAL and PARALLEL are used: then have no custom FJP and no close handler. If custom FJP or close handler is requested for shared object, a new object is created, otherwise the current one is modified.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.lang.Runnable
closeHandler
(package private) java.util.concurrent.ForkJoinPool
fjp
(package private) boolean
parallel
(package private) static StreamContext
PARALLEL
(package private) static StreamContext
SEQUENTIAL
-
Constructor Summary
Constructors Modifier Constructor Description private
StreamContext(boolean parallel)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
close()
(package private) StreamContext
combine(java.util.stream.BaseStream<?,?> other)
(package private) static java.lang.Runnable
compose(java.lang.Runnable r1, java.lang.Runnable r2)
(package private) StreamContext
detach()
(package private) static StreamContext
of(java.util.stream.BaseStream<?,?> stream)
(package private) StreamContext
onClose(java.lang.Runnable r)
(package private) StreamContext
parallel()
(package private) StreamContext
parallel(java.util.concurrent.ForkJoinPool fjp)
(package private) StreamContext
sequential()
(package private) <T> T
terminate(java.util.function.Supplier<T> terminalOperation)
(package private) <T,U>
Tterminate(U value, java.util.function.Function<U,T> terminalOperation)
-
-
-
Field Detail
-
SEQUENTIAL
static final StreamContext SEQUENTIAL
-
PARALLEL
static final StreamContext PARALLEL
-
parallel
boolean parallel
-
fjp
java.util.concurrent.ForkJoinPool fjp
-
closeHandler
java.lang.Runnable closeHandler
-
-
Method Detail
-
terminate
<T> T terminate(java.util.function.Supplier<T> terminalOperation)
-
terminate
<T,U> T terminate(U value, java.util.function.Function<U,T> terminalOperation)
-
parallel
StreamContext parallel()
-
sequential
StreamContext sequential()
-
parallel
StreamContext parallel(java.util.concurrent.ForkJoinPool fjp)
-
detach
StreamContext detach()
-
onClose
StreamContext onClose(java.lang.Runnable r)
-
close
void close()
-
compose
static java.lang.Runnable compose(java.lang.Runnable r1, java.lang.Runnable r2)
-
combine
StreamContext combine(java.util.stream.BaseStream<?,?> other)
-
of
static StreamContext of(java.util.stream.BaseStream<?,?> stream)
-
-