Package com.hazelcast.jet.aggregate
Interface AggregateOperation2<T0,T1,A,R>   
- Type Parameters:
- T0- the type of item in stream-0
- T1- the type of item in stream-1
- A- the type of the accumulator
- R- the type of the aggregation result
- All Superinterfaces:
- AggregateOperation<A,,- R> - Serializable
Specialization of 
AggregateOperation (refer to its extensive documentation) to the "arity-2" case with
 two data streams being aggregated over. AggregateOperations
 contains factories for the built-in implementations and you can create
 your own using the aggregate
 operation builder.
 
 This example constructs an operation that sums up long values
 from two streams:
 
 AggregateOperation2<Long, Long, LongAccumulator, Long> aggrOp = AggregateOperation
     .withCreate(LongAccumulator::new)
     .<Long>andAccumulate0(LongAccumulator::add)
     .<Long>andAccumulate1(LongAccumulator::add)
     .andFinish(LongAccumulator::get);
 All the functions must be stateless and cooperative.
- Since:
- Jet 3.0
- 
Method SummaryModifier and TypeMethodDescriptionBiConsumerEx<? super A,? super T0> A primitive that updates the accumulator state to account for a new item coming from stream-0.BiConsumerEx<? super A,? super T1> A primitive that updates the accumulator state to account for a new item coming from stream-1.<R_NEW> AggregateOperation2<T0,T1, A, R_NEW> andThen(FunctionEx<? super R, ? extends R_NEW> thenFn) Returns a copy of this aggregate operation, but with theexportandfinishprimitives composed with the suppliedthenFn.<T0_NEW> AggregateOperation2<T0_NEW,T1, A, R> withAccumulateFn0(BiConsumerEx<? super A, ? super T0_NEW> newAccFn0) Returns a copy of this aggregate operation, but with theaccumulateprimitive at index 0 replaced with the one supplied here.<T1_NEW> AggregateOperation2<T0,T1_NEW, A, R> withAccumulateFn1(BiConsumerEx<? super A, ? super T1_NEW> newAccFn1) Returns a copy of this aggregate operation, but with theaccumulateprimitive at index 1 replaced with the one supplied here.Returns a copy of this aggregate operation, but with thefinishprimitive replaced with the identity function.Methods inherited from interface com.hazelcast.jet.aggregate.AggregateOperationaccumulateFn, accumulateFn, arity, combineFn, createFn, deductFn, exportFn, finishFn, withAccumulateFns, withCombiningAccumulateFn
- 
Method Details- 
accumulateFn0A primitive that updates the accumulator state to account for a new item coming from stream-0.The consumer must be stateless and cooperative. 
- 
accumulateFn1A primitive that updates the accumulator state to account for a new item coming from stream-1.The consumer must be stateless and cooperative. 
- 
withAccumulateFn0@Nonnull <T0_NEW> AggregateOperation2<T0_NEW,T1, withAccumulateFn0A, R> (@Nonnull BiConsumerEx<? super A, ? super T0_NEW> newAccFn0) Returns a copy of this aggregate operation, but with theaccumulateprimitive at index 0 replaced with the one supplied here.The consumer must be stateless and cooperative. 
- 
withAccumulateFn1@Nonnull <T1_NEW> AggregateOperation2<T0,T1_NEW, withAccumulateFn1A, R> (@Nonnull BiConsumerEx<? super A, ? super T1_NEW> newAccFn1) Returns a copy of this aggregate operation, but with theaccumulateprimitive at index 1 replaced with the one supplied here.The consumer must be stateless and cooperative. 
- 
withIdentityFinishDescription copied from interface:AggregateOperationReturns a copy of this aggregate operation, but with thefinishprimitive replaced with the identity function. It will return the accumulator object as-is. The returned aggregate operation does not support theexportprimitive.- Specified by:
- withIdentityFinishin interface- AggregateOperation<T0,- T1> 
 
- 
andThen@Nonnull <R_NEW> AggregateOperation2<T0,T1, andThenA, R_NEW> (FunctionEx<? super R, ? extends R_NEW> thenFn) Description copied from interface:AggregateOperationReturns a copy of this aggregate operation, but with theexportandfinishprimitives composed with the suppliedthenFn. This replacesexportFnwithexportFn.andThen(thenFn), same forfinishFn. The main use case is to transform the result of an existing (library-provided) aggregate operation.The given function must be stateless and cooperative. - Specified by:
- andThenin interface- AggregateOperation<T0,- T1> 
- Type Parameters:
- R_NEW- the type of the returned aggregate operation's result
- Parameters:
- thenFn- the function to apply to the results of- exportand- finishprimitives
 
 
-