## Uses of Interface
com.hazelcast.jet.aggregate.AggregateOperation2

- Packages that use AggregateOperation2
  Package | Description
  --- | ---
  com.hazelcast.jet.aggregate | Contains `AggregateOperation` and several its variants, as well as a builder object for the aggregate operations.
  com.hazelcast.jet.pipeline | The Pipeline API is Jet's high-level API to build and execute distributed computation jobs.

- - ### Uses of AggregateOperation2 in com.hazelcast.jet.aggregate

    Methods in com.hazelcast.jet.aggregate that return AggregateOperation2
    Modifier and Type | Method and Description
    --- | ---
    `static <T0,T1,A0,A1,R0,R1> AggregateOperation2<T0,T1,Tuple2<A0,A1>,Tuple2<R0,R1>>` | AggregateOperations.`aggregateOperation2(AggregateOperation1<? super T0,A0,? extends R0> op0, AggregateOperation1<? super T1,A1,? extends R1> op1)` Convenience for `aggregateOperation2(aggrOp0, aggrOp1, finishFn)` that outputs a `Tuple2(result0, result1)`.
    `static <T0,A0,R0,T1,A1,R1,R> AggregateOperation2<T0,T1,Tuple2<A0,A1>,R>` | AggregateOperations.`aggregateOperation2(AggregateOperation1<? super T0,A0,? extends R0> op0, AggregateOperation1<? super T1,A1,? extends R1> op1, BiFunctionEx<? super R0,? super R1,? extends R> exportFinishFn)` Returns an aggregate operation that is a composite of two independent aggregate operations, each one accepting its own input.
    `<R_NEW> AggregateOperation2<T0,T1,A,R_NEW>` | AggregateOperationBuilder.Arity2.`andExportFinish(FunctionEx<? super A,? extends R_NEW> exportFinishFn)` Registers the supplied function as both the `export` and `finish` primitive.
    `AggregateOperation2<T0,T1,A,R>` | AggregateOperationBuilder.Arity2.`andFinish(FunctionEx<? super A,? extends R> finishFn)` Registers the supplied function as the `finish` primitive.
    `<R_NEW> AggregateOperation2<T0,T1,A,R_NEW>` | AggregateOperation2.`andThen(FunctionEx<? super R,? extends R_NEW> thenFn)`
    `<T0_NEW> AggregateOperation2<T0_NEW,T1,A,R>` | AggregateOperation2.`withAccumulateFn0(BiConsumerEx<? super A,? super T0_NEW> newAccFn0)` Returns a copy of this aggregate operation, but with the `accumulate` primitive at index 0 replaced with the one supplied here.
    `<T1_NEW> AggregateOperation2<T0,T1_NEW,A,R>` | AggregateOperation2.`withAccumulateFn1(BiConsumerEx<? super A,? super T1_NEW> newAccFn1)` Returns a copy of this aggregate operation, but with the `accumulate` primitive at index 1 replaced with the one supplied here.
    `AggregateOperation2<T0,T1,A,A>` | AggregateOperation2.`withIdentityFinish()`

  - ### Uses of AggregateOperation2 in com.hazelcast.jet.pipeline

    Methods in com.hazelcast.jet.pipeline with parameters of type AggregateOperation2
    Modifier and Type | Method and Description
    --- | ---
    `<T1,R> BatchStage<R>` | BatchStage.`aggregate2(BatchStage<T1> stage1, AggregateOperation2<? super T,? super T1,?,? extends R> aggrOp)` Attaches a stage that performs the given aggregate operation over all the items it receives from both this stage and `stage1` you supply.
    `<T1,R> BatchStage<Map.Entry<K,R>>` | BatchStageWithKey.`aggregate2(BatchStageWithKey<T1,? extends K> stage1, AggregateOperation2<? super T,? super T1,?,R> aggrOp)` Attaches a stage that performs the given cogroup-and-aggregate operation over the items from both this stage and `stage1` you supply.
    `<T1,R> StreamStage<WindowResult<R>>` | StageWithWindow.`aggregate2(StreamStage<T1> stage1, AggregateOperation2<? super T,? super T1,?,? extends R> aggrOp)` Attaches a stage that performs the given aggregate operation over all the items that belong to the same window.
    `<T1,R> StreamStage<KeyedWindowResult<K,R>>` | StageWithKeyAndWindow.`aggregate2(StreamStageWithKey<T1,? extends K> stage1, AggregateOperation2<? super T,? super T1,?,? extends R> aggrOp)` Attaches a stage that performs the given cogroup-and-aggregate operation over the items from both this stage and `stage1` you supply.

Copyright © 2019. All rights reserved.