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

- Packages that use AggregateOperation3
  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 AggregateOperation3 in com.hazelcast.jet.aggregate

    Methods in com.hazelcast.jet.aggregate that return AggregateOperation3
    Modifier and Type | Method and Description
    --- | ---
    `static <T0,T1,T2,A0,A1,A2,R0,R1,R2> AggregateOperation3<T0,T1,T2,Tuple3<A0,A1,A2>,Tuple3<R0,R1,R2>>` | AggregateOperations.`aggregateOperation3(AggregateOperation1<? super T0,A0,? extends R0> op0, AggregateOperation1<? super T1,A1,? extends R1> op1, AggregateOperation1<? super T2,A2,? extends R2> op2)` Convenience for `aggregateOperation3(aggrOp0, aggrOp1, aggrOp2, finishFn)` that outputs a `Tuple3(result0, result1, result2)`.
    `static <T0,T1,T2,A0,A1,A2,R0,R1,R2,R> AggregateOperation3<T0,T1,T2,Tuple3<A0,A1,A2>,R>` | AggregateOperations.`aggregateOperation3(AggregateOperation1<? super T0,A0,? extends R0> op0, AggregateOperation1<? super T1,A1,? extends R1> op1, AggregateOperation1<? super T2,A2,? extends R2> op2, DistributedTriFunction<? super R0,? super R1,? super R2,? extends R> exportFinishFn)` Returns an aggregate operation that is a composite of three independent aggregate operations, each one accepting its own input.
    `<R_NEW> AggregateOperation3<T0,T1,T2,A,R_NEW>` | AggregateOperationBuilder.Arity3.`andExportFinish(DistributedFunction<? super A,? extends R_NEW> exportFinishFn)` Registers the supplied function as both the `export` and `finish` primitive.
    `AggregateOperation3<T0,T1,T2,A,R>` | AggregateOperationBuilder.Arity3.`andFinish(DistributedFunction<? super A,? extends R> finishFn)` Registers the supplied function as the `finish` primitive.
    `<R_NEW> AggregateOperation3<T0,T1,T2,A,R_NEW>` | AggregateOperation3.`andThen(DistributedFunction<? super R,? extends R_NEW> thenFn)`
    `<T0_NEW> AggregateOperation3<T0_NEW,T1,T2,A,R>` | AggregateOperation3.`withAccumulateFn0(DistributedBiConsumer<? 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> AggregateOperation3<T0,T1_NEW,T2,A,R>` | AggregateOperation3.`withAccumulateFn1(DistributedBiConsumer<? 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.
    `<T2_NEW> AggregateOperation3<T0,T1,T2_NEW,A,R>` | AggregateOperation3.`withAccumulateFn2(DistributedBiConsumer<? super A,? super T2_NEW> newAccFn2)` Returns a copy of this aggregate operation, but with the `accumulate` primitive at index 2 replaced with the one supplied here.
    `AggregateOperation3<T0,T1,T2,A,A>` | AggregateOperation3.`withIdentityFinish()`

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

    Methods in com.hazelcast.jet.pipeline with parameters of type AggregateOperation3
    Modifier and Type | Method and Description
    --- | ---
    `<T1,T2,R> BatchStage<R>` | BatchStage.`aggregate3(BatchStage<T1> stage1, BatchStage<T2> stage2, AggregateOperation3<? super T,? super T1,? super T2,?,? extends R> aggrOp)` Attaches a stage that performs the given aggregate operation over all the items it receives from this stage as well as `stage1` and `stage2` you supply.
    `default <T1,T2,R> BatchStage<Map.Entry<K,R>>` | BatchStageWithKey.`aggregate3(BatchStageWithKey<T1,? extends K> stage1, BatchStageWithKey<T2,? extends K> stage2, AggregateOperation3<? super T,? super T1,? super T2,?,? extends R> aggrOp)` Attaches a stage that performs the given cogroup-and-aggregate operation over the items from this stage as well as `stage1` and `stage2` you supply.
    `<T1,T2,R,OUT> BatchStage<OUT>` | BatchStageWithKey.`aggregate3(BatchStageWithKey<T1,? extends K> stage1, BatchStageWithKey<T2,? extends K> stage2, AggregateOperation3<? super T,? super T1,? super T2,?,R> aggrOp, DistributedBiFunction<? super K,? super R,? extends OUT> mapToOutputFn)` Attaches a stage that performs the given cogroup-and-aggregate operation over the items from this stage as well as `stage1` and `stage2` you supply.
    `default <T1,T2,R> StreamStage<TimestampedItem<R>>` | StageWithWindow.`aggregate3(StreamStage<T1> stage1, StreamStage<T2> stage2, AggregateOperation3<? super T,? super T1,? super T2,?,R> aggrOp)` Attaches a stage that performs the given aggregate operation over the items it receives from this stage as well as `stage1` and `stage2` you supply.
    `<T1,T2,R,OUT> StreamStage<OUT>` | StageWithWindow.`aggregate3(StreamStage<T1> stage1, StreamStage<T2> stage2, AggregateOperation3<? super T,? super T1,? super T2,?,R> aggrOp, WindowResultFunction<? super R,? extends OUT> mapToOutputFn)` Attaches a stage that performs the given aggregate operation over the items it receives from this stage as well as `stage1` and `stage2` you supply.
    `default <T1,T2,R> StreamStage<TimestampedEntry<K,R>>` | StageWithKeyAndWindow.`aggregate3(StreamStageWithKey<T1,? extends K> stage1, StreamStageWithKey<T2,? extends K> stage2, AggregateOperation3<? super T,? super T1,? super T2,?,? extends R> aggrOp)` Attaches a stage that performs the given cogroup-and-aggregate operation over the items from this stage as well as `stage1` and `stage2` you supply.
    `<T1,T2,R,OUT> StreamStage<OUT>` | StageWithKeyAndWindow.`aggregate3(StreamStageWithKey<T1,? extends K> stage1, StreamStageWithKey<T2,? extends K> stage2, AggregateOperation3<? super T,? super T1,? super T2,?,? extends R> aggrOp, KeyedWindowResultFunction<? super K,? super R,? extends OUT> mapToOutputFn)` Attaches a stage that performs the given cogroup-and-aggregate operation over the items from this stage as well as `stage1` and `stage2` you supply.

Copyright © 2018. All rights reserved.