Package com.hazelcast.jet.aggregate
Class AggregateOperationBuilder<A>
- java.lang.Object
-
- com.hazelcast.jet.aggregate.AggregateOperationBuilder<A>
-
- Type Parameters:
A
- the type of the accumulator
public final class AggregateOperationBuilder<A> extends java.lang.Object
A builder object that can be used to construct the definition of an aggregate operation in a step-by-step manner. Please refer toAggregateOperation.withCreate()
for more details.- Since:
- Jet 3.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AggregateOperationBuilder.Arity1<T0,A,R>
The arity-1 variant of the aggregate operation builder.static class
AggregateOperationBuilder.Arity2<T0,T1,A,R>
The arity-2 variant of the aggregate operation builder.static class
AggregateOperationBuilder.Arity3<T0,T1,T2,A,R>
The arity-3 variant of the aggregate operation builder.static class
AggregateOperationBuilder.VarArity<A,R>
The variable-arity variant of the aggregate operation builder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> AggregateOperationBuilder.Arity1<T,A,java.lang.Void>
andAccumulate(BiConsumerEx<? super A,? super T> accumulateFn)
Registers theAggregateOperation1.accumulateFn()
accumulate} primitive.<T> AggregateOperationBuilder.VarArity<A,java.lang.Void>
andAccumulate(Tag<T> tag, BiConsumerEx<? super A,? super T> accumulateFn)
Registers theaccumulate
primitive for the stream tagged with the supplied tag.<T0> AggregateOperationBuilder.Arity1<T0,A,java.lang.Void>
andAccumulate0(BiConsumerEx<? super A,? super T0> accumulateFn0)
Registers theaccumulate
primitive for stream-0.AggregateOperationBuilder.VarArity<A,java.lang.Void>
varArity()
Selects the variable-arity variant for this aggregate operation builder.
-
-
-
Method Detail
-
andAccumulate
@Nonnull public <T> AggregateOperationBuilder.Arity1<T,A,java.lang.Void> andAccumulate(@Nonnull BiConsumerEx<? super A,? super T> accumulateFn)
Registers theAggregateOperation1.accumulateFn()
accumulate} primitive. Also selects the fixed-arity variant of the aggregate operation.This method is synonymous with
andAccumulate0()
, but makes more sense when defining a simple, arity-1 aggregate operation.- Type Parameters:
T
- the expected type of input item- Parameters:
accumulateFn
- theaccumulate
primitive, parameters are(accumulator, item)
. It must be stateless and cooperative.- Returns:
- a new builder object that captures the
T0
type parameter
-
andAccumulate0
@Nonnull public <T0> AggregateOperationBuilder.Arity1<T0,A,java.lang.Void> andAccumulate0(@Nonnull BiConsumerEx<? super A,? super T0> accumulateFn0)
Registers theaccumulate
primitive for stream-0. Also selects the fixed-arity variant of the aggregate operation.- Type Parameters:
T0
- the expected type of item in stream-0- Parameters:
accumulateFn0
- theaccumulate
primitive for stream-0. It must be stateless and cooperative.- Returns:
- a new builder object that captures the
T0
type parameter
-
varArity
public AggregateOperationBuilder.VarArity<A,java.lang.Void> varArity()
Selects the variable-arity variant for this aggregate operation builder.- Returns:
- a new builder object for variable-arity aggregate operations which has
the
createFn
of the current builder
-
andAccumulate
@Nonnull public <T> AggregateOperationBuilder.VarArity<A,java.lang.Void> andAccumulate(@Nonnull Tag<T> tag, @Nonnull BiConsumerEx<? super A,? super T> accumulateFn)
Registers theaccumulate
primitive for the stream tagged with the supplied tag. Also selects the variable-arity variant of the aggregate operation.- Type Parameters:
T
- the expected type of input item- Parameters:
tag
- the tag of the associated input streamaccumulateFn
- theaccumulate
primitive. It must be stateless and cooperative.- Returns:
- a new builder object for variable-arity aggregate operations which has
the
createFn
of the current builder
-
-