IN - the input data type.OUT - the output data type.public interface FunctionalRoutine<IN,OUT> extends Routine<IN,OUT>, ConfigurableBuilder<FunctionalRoutine<IN,OUT>>
| Modifier and Type | Method and Description |
|---|---|
FunctionalRoutine<IN,OUT> |
thenAsyncAccumulate(BiFunction<? super OUT,? super OUT,? extends OUT> function)
Concatenates a functional routine based on the specified accumulate function to this one.
|
FunctionalRoutine<IN,OUT> |
thenAsyncFilter(Predicate<? super OUT> predicate)
Concatenates a functional routine based on the specified predicate to this one.
The output will be filtered according to the result returned by the predicate. |
<AFTER> FunctionalRoutine<IN,AFTER> |
thenAsyncMap(BiConsumer<? super OUT,? super ResultChannel<AFTER>> consumer)
Concatenates a functional routine based on the specified consumer to this one.
|
<AFTER> FunctionalRoutine<IN,AFTER> |
thenAsyncMap(Function<? super OUT,AFTER> function)
Concatenates a functional routine based on the specified function to this one.
|
<AFTER> FunctionalRoutine<IN,AFTER> |
thenAsyncMap(InvocationFactory<? super OUT,AFTER> factory)
Concatenates a functional routine based on the specified factory to this one.
|
<AFTER> FunctionalRoutine<IN,AFTER> |
thenAsyncMap(Routine<? super OUT,AFTER> routine)
Concatenates a functional routine based on the specified instance to this one.
|
<AFTER> FunctionalRoutine<IN,AFTER> |
thenAsyncReduce(BiConsumer<? super List<? extends OUT>,? super ResultChannel<AFTER>> consumer)
Concatenates a functional routine based on the specified reducing consumer to this one.
The outputs will be reduced by applying the function, only when the routine invocation completes. |
<AFTER> FunctionalRoutine<IN,AFTER> |
thenAsyncReduce(Function<? super List<? extends OUT>,AFTER> function)
Concatenates a functional routine based on the specified reducing function to this one.
The outputs will be reduced by applying the function, only when the routine invocation completes. |
<BEFORE,AFTER> |
thenFlatLift(Function<? super FunctionalRoutine<IN,OUT>,? extends FunctionalRoutine<BEFORE,AFTER>> function)
Lifts this functional routine by applying the specified function.
|
<BEFORE,AFTER> |
thenLift(Function<? super FunctionalRoutine<IN,OUT>,? extends Routine<BEFORE,AFTER>> function)
Lifts this functional routine by applying the specified function.
|
FunctionalRoutine<IN,OUT> |
thenParallelFilter(Predicate<? super OUT> predicate)
Concatenates a functional routine based on the specified predicate to this one.
The output will be filtered according to the result returned by the predicate. |
<AFTER> FunctionalRoutine<IN,AFTER> |
thenParallelMap(BiConsumer<? super OUT,? super ResultChannel<AFTER>> consumer)
Concatenates a functional routine based on the specified consumer to this one.
|
<AFTER> FunctionalRoutine<IN,AFTER> |
thenParallelMap(Function<? super OUT,AFTER> function)
Concatenates a functional routine based on the specified function to this one.
|
<AFTER> FunctionalRoutine<IN,AFTER> |
thenParallelMap(InvocationFactory<? super OUT,AFTER> factory)
Concatenates a functional routine based on the specified factory to this one.
|
<AFTER> FunctionalRoutine<IN,AFTER> |
thenParallelMap(Routine<? super OUT,AFTER> routine)
Concatenates a functional routine based on the specified instance to this one.
|
FunctionalRoutine<IN,OUT> |
thenSyncAccumulate(BiFunction<? super OUT,? super OUT,? extends OUT> function)
Concatenates a functional routine based on the specified accumulate function to this one.
|
FunctionalRoutine<IN,OUT> |
thenSyncFilter(Predicate<? super OUT> predicate)
Concatenates a functional routine based on the specified predicate to this one.
The output will be filtered according to the result returned by the predicate. |
<AFTER> FunctionalRoutine<IN,AFTER> |
thenSyncMap(BiConsumer<? super OUT,? super ResultChannel<AFTER>> consumer)
Concatenates a functional routine based on the specified consumer to this one.
|
<AFTER> FunctionalRoutine<IN,AFTER> |
thenSyncMap(Function<? super OUT,AFTER> function)
Concatenates a functional routine based on the specified function to this one.
|
<AFTER> FunctionalRoutine<IN,AFTER> |
thenSyncMap(InvocationFactory<? super OUT,AFTER> factory)
Concatenates a functional routine based on the specified factory to this one.
|
<AFTER> FunctionalRoutine<IN,AFTER> |
thenSyncMap(Routine<? super OUT,AFTER> routine)
Concatenates a functional routine based on the specified instance to this one.
|
<AFTER> FunctionalRoutine<IN,AFTER> |
thenSyncReduce(BiConsumer<? super List<? extends OUT>,? super ResultChannel<AFTER>> consumer)
Concatenates a functional routine based on the specified reducing consumer to this one.
The outputs will be reduced by applying the function, only when the routine invocation completes. |
<AFTER> FunctionalRoutine<IN,AFTER> |
thenSyncReduce(Function<? super List<? extends OUT>,AFTER> function)
Concatenates a functional routine based on the specified reducing function to this one.
The outputs will be reduced by applying the function, only when the routine invocation completes. |
asyncCall, asyncCall, asyncCall, asyncCall, asyncCall, asyncInvoke, parallelCall, parallelCall, parallelCall, parallelCall, parallelCall, parallelInvoke, purge, syncCall, syncCall, syncCall, syncCall, syncCall, syncInvokeinvocations@NotNull FunctionalRoutine<IN,OUT> thenAsyncAccumulate(@NotNull BiFunction<? super OUT,? super OUT,? extends OUT> function)
acc = function.apply(acc, input);
The accumulated value will be passed as result only when the routine invocation completes.
Note that the created routine will be invoked in an asynchronous mode.function - the bi-function instance.@NotNull FunctionalRoutine<IN,OUT> thenAsyncFilter(@NotNull Predicate<? super OUT> predicate)
predicate - the predicate instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenAsyncMap(@NotNull BiConsumer<? super OUT,? super ResultChannel<AFTER>> consumer)
AFTER - the concatenation output type.consumer - the bi-consumer instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenAsyncMap(@NotNull Function<? super OUT,AFTER> function)
AFTER - the concatenation output type.function - the function instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenAsyncMap(@NotNull InvocationFactory<? super OUT,AFTER> factory)
AFTER - the concatenation output type.factory - the invocation factory.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenAsyncMap(@NotNull Routine<? super OUT,AFTER> routine)
AFTER - the concatenation output type.routine - the routine instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenAsyncReduce(@NotNull BiConsumer<? super List<? extends OUT>,? super ResultChannel<AFTER>> consumer)
AFTER - the concatenation output type.consumer - the bi-consumer instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenAsyncReduce(@NotNull Function<? super List<? extends OUT>,AFTER> function)
AFTER - the concatenation output type.function - the function instance.@NotNull <BEFORE,AFTER> FunctionalRoutine<BEFORE,AFTER> thenFlatLift(@NotNull Function<? super FunctionalRoutine<IN,OUT>,? extends FunctionalRoutine<BEFORE,AFTER>> function)
BEFORE - the lifting input type.AFTER - the lifting output type.function - the function instance.@NotNull <BEFORE,AFTER> FunctionalRoutine<BEFORE,AFTER> thenLift(@NotNull Function<? super FunctionalRoutine<IN,OUT>,? extends Routine<BEFORE,AFTER>> function)
BEFORE - the lifting input type.AFTER - the lifting output type.function - the function instance.@NotNull FunctionalRoutine<IN,OUT> thenParallelFilter(@NotNull Predicate<? super OUT> predicate)
predicate - the predicate instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenParallelMap(@NotNull BiConsumer<? super OUT,? super ResultChannel<AFTER>> consumer)
AFTER - the concatenation output type.consumer - the bi-consumer instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenParallelMap(@NotNull Function<? super OUT,AFTER> function)
AFTER - the concatenation output type.function - the function instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenParallelMap(@NotNull InvocationFactory<? super OUT,AFTER> factory)
AFTER - the concatenation output type.factory - the invocation factory.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenParallelMap(@NotNull Routine<? super OUT,AFTER> routine)
AFTER - the concatenation output type.routine - the routine instance.@NotNull FunctionalRoutine<IN,OUT> thenSyncAccumulate(@NotNull BiFunction<? super OUT,? super OUT,? extends OUT> function)
acc = function.apply(acc, input);
The accumulated value will be passed as result only when the routine invocation completes.
Note that the created routine will be invoked in a synchronous mode.function - the bi-function instance.@NotNull FunctionalRoutine<IN,OUT> thenSyncFilter(@NotNull Predicate<? super OUT> predicate)
predicate - the predicate instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenSyncMap(@NotNull BiConsumer<? super OUT,? super ResultChannel<AFTER>> consumer)
AFTER - the concatenation output type.consumer - the bi-consumer instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenSyncMap(@NotNull Function<? super OUT,AFTER> function)
AFTER - the concatenation output type.function - the function instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenSyncMap(@NotNull InvocationFactory<? super OUT,AFTER> factory)
AFTER - the concatenation output type.factory - the invocation factory.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenSyncMap(@NotNull Routine<? super OUT,AFTER> routine)
AFTER - the concatenation output type.routine - the routine instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenSyncReduce(@NotNull BiConsumer<? super List<? extends OUT>,? super ResultChannel<AFTER>> consumer)
AFTER - the concatenation output type.consumer - the bi-consumer instance.@NotNull <AFTER> FunctionalRoutine<IN,AFTER> thenSyncReduce(@NotNull Function<? super List<? extends OUT>,AFTER> function)
AFTER - the concatenation output type.function - the function instance.