## Uses of Interface
com.hazelcast.jet.function.DistributedTriFunction

- Packages that use DistributedTriFunction
  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.core.processor | Contains static utility classes with factories of Jet processors.
  com.hazelcast.jet.pipeline | The Pipeline API is Jet's high-level API to build and execute distributed computation jobs.

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

    Methods in com.hazelcast.jet.aggregate with parameters of type DistributedTriFunction
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `static <T,A0,A1,A2,R0,R1,R2,R> AggregateOperation1<T,Tuple3<A0,A1,A2>,R>` | AggregateOperations.`allOf(AggregateOperation1<? super T,A0,? extends R0> op0, AggregateOperation1<? super T,A1,? extends R1> op1, AggregateOperation1<? super T,A2,? extends R2> op2, DistributedTriFunction<? super R0,? super R1,? super R2,? extends R> exportFinishFn)` Returns an aggregate operation that is a composite of three aggregate operations.

  - ### Uses of DistributedTriFunction in com.hazelcast.jet.core.processor

    Methods in com.hazelcast.jet.core.processor with parameters of type DistributedTriFunction
    Modifier and Type | Method and Description
    --- | ---
    `static <T,K,A,R,OUT> DistributedSupplier<Processor>` | Processors.`rollingAggregateP(DistributedFunction<? super T,? extends K> keyFn, AggregateOperation1<? super T,A,? extends R> aggrOp, DistributedTriFunction<? super T,? super K,? super R,? extends OUT> mapToOutputFn)` Returns a supplier of processors for a vertex that performs a rolling aggregation.

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

    Methods in com.hazelcast.jet.pipeline with parameters of type DistributedTriFunction
    Modifier and Type | Method and Description
    --- | ---
    `default <T1,R0,R1,OUT> BatchStage<OUT>` | BatchStageWithKey.`aggregate2(AggregateOperation1<? super T,?,R0> aggrOp0, BatchStageWithKey<T1,? extends K> stage1, AggregateOperation1<? super T1,?,R1> aggrOp1, DistributedTriFunction<? super K,? super R0,? super R1,OUT> mapToOutputFn)` Attaches a stage that performs the given cogroup-and-aggregate transformation of the items from both this stage and `stage1` you supply.
    `default <T1,T2,R0,R1,R2,OUT> BatchStage<OUT>` | BatchStage.`aggregate3(AggregateOperation1<? super T,?,? extends R0> aggrOp0, BatchStage<T1> stage1, AggregateOperation1<? super T1,?,? extends R1> aggrOp1, BatchStage<T2> stage2, AggregateOperation1<? super T2,?,? extends R2> aggrOp2, DistributedTriFunction<? super R0,? super R1,? super R2,? extends OUT> mapToOutputFn)` Attaches a stage that co-aggregates the data from this and the two supplied stages by performing a separate aggregate operation on each and then passing all three results to `mapToOutputFn`, which transforms them into the final output.
    `<C,R> StreamStage<R>` | StreamStageWithKey.`flatMapUsingContext(ContextFactory<C> contextFactory, DistributedTriFunction<? super C,? super K,? super T,? extends Traverser<? extends R>> flatMapFn)`
    `<C,R> GeneralStage<R>` | GeneralStageWithKey.`flatMapUsingContext(ContextFactory<C> contextFactory, DistributedTriFunction<? super C,? super K,? super T,? extends Traverser<? extends R>> flatMapFn)` Attaches a flat-mapping stage which applies the supplied function to each input item independently and emits all the items from the `Traverser` it returns as the output items.
    `<C,R> BatchStage<R>` | BatchStageWithKey.`flatMapUsingContext(ContextFactory<C> contextFactory, DistributedTriFunction<? super C,? super K,? super T,? extends Traverser<? extends R>> flatMapFn)`
    `<K1,K2,T1_IN,T2_IN,T1,T2,R> StreamStage<R>` | StreamStage.`hashJoin2(BatchStage<T1_IN> stage1, JoinClause<K1,? super T,? super T1_IN,? extends T1> joinClause1, BatchStage<T2_IN> stage2, JoinClause<K2,? super T,? super T2_IN,? extends T2> joinClause2, DistributedTriFunction<T,T1,T2,R> mapToOutputFn)`
    `<K1,K2,T1_IN,T2_IN,T1,T2,R> GeneralStage<R>` | GeneralStage.`hashJoin2(BatchStage<T1_IN> stage1, JoinClause<K1,? super T,? super T1_IN,? extends T1> joinClause1, BatchStage<T2_IN> stage2, JoinClause<K2,? super T,? super T2_IN,? extends T2> joinClause2, DistributedTriFunction<T,T1,T2,R> mapToOutputFn)` Attaches to this and the two supplied stages a hash-joining stage and returns it.
    `<K1,K2,T1_IN,T2_IN,T1,T2,R> BatchStage<R>` | BatchStage.`hashJoin2(BatchStage<T1_IN> stage1, JoinClause<K1,? super T,? super T1_IN,? extends T1> joinClause1, BatchStage<T2_IN> stage2, JoinClause<K2,? super T,? super T2_IN,? extends T2> joinClause2, DistributedTriFunction<T,T1,T2,R> mapToOutputFn)`
    `<C,R> StreamStage<R>` | StreamStageWithKey.`mapUsingContext(ContextFactory<C> contextFactory, DistributedTriFunction<? super C,? super K,? super T,? extends R> mapFn)`
    `<C,R> GeneralStage<R>` | GeneralStageWithKey.`mapUsingContext(ContextFactory<C> contextFactory, DistributedTriFunction<? super C,? super K,? super T,? extends R> mapFn)` Attaches a mapping stage which applies the given function to each input item independently and emits the function's result as the output item.
    `<C,R> BatchStage<R>` | BatchStageWithKey.`mapUsingContext(ContextFactory<C> contextFactory, DistributedTriFunction<? super C,? super K,? super T,? extends R> mapFn)`

Copyright © 2018. All rights reserved.