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

- Packages that use DistributedFunction
  Package | Description
  --- | ---
  com.hazelcast.jet | Hazelcast Jet is a distributed computation engine running on top of Hazelcast IMDG technology.
  com.hazelcast.jet.aggregate | Contains `AggregateOperation` and several its variants, as well as a builder object for the aggregate operations.
  com.hazelcast.jet.core | Jet's Core API.
  com.hazelcast.jet.core.processor | Contains static utility classes with factories of Jet processors.
  com.hazelcast.jet.function | Serializable and exception-declaring variants of functional interfaces from `java.util.function`.
  com.hazelcast.jet.hadoop | Apache Hadoop HDFS read/write support for Hazelcast Jet.
  com.hazelcast.jet.kafka | Apache Kafka reader/writer support for Hazelcast Jet.
  com.hazelcast.jet.pipeline | The Pipeline API is Jet's high-level API to build and execute distributed computation jobs.

- - ### Uses of DistributedFunction in com.hazelcast.jet

    Methods in com.hazelcast.jet that return DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `static <K,V> DistributedFunction<EventJournalCacheEvent<K,V>,Map.Entry<K,V>>` | Util.`cacheEventToEntry()` Returns a projection that converts the `EventJournalCacheEvent` to a `Map.Entry` using the event's new value as a value.
    `static <K,V> DistributedFunction<EventJournalMapEvent<K,V>,V>` | Util.`mapEventNewValue()` Returns a projection that extracts the new value from a `EventJournalMapEvent`.
    `static <K,V> DistributedFunction<EventJournalMapEvent<K,V>,Map.Entry<K,V>>` | Util.`mapEventToEntry()` Returns a projection that converts the `EventJournalMapEvent` to a `Map.Entry` using the event's new value as a value.

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

    Methods in com.hazelcast.jet.aggregate that return DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `DistributedFunction<? super A,? extends R>` | AggregateOperation.`exportFn()` A primitive that transforms the accumulator into a result of the aggregation.
    `default DistributedFunction<? super A,? extends R>` | AggregateOperation.`finishFn()` A primitive that transforms the accumulator into a result of the aggregation.

    Methods in com.hazelcast.jet.aggregate with parameters of type DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `<R_NEW> AggregateOperationBuilder.Arity1<T0,A,R_NEW>` | AggregateOperationBuilder.Arity1.`andExport(DistributedFunction<? super A,? extends R_NEW> exportFn)` Registers the `export` primitive.
    `<R_NEW> AggregateOperationBuilder.Arity2<T0,T1,A,R_NEW>` | AggregateOperationBuilder.Arity2.`andExport(DistributedFunction<? super A,? extends R_NEW> exportFn)` Registers the `export` primitive.
    `<R_NEW> AggregateOperationBuilder.Arity3<T0,T1,T2,A,R_NEW>` | AggregateOperationBuilder.Arity3.`andExport(DistributedFunction<? super A,? extends R_NEW> exportFn)` Registers the `export` primitive.
    `<R_NEW> AggregateOperationBuilder.VarArity<A,R_NEW>` | AggregateOperationBuilder.VarArity.`andExport(DistributedFunction<? super A,? extends R_NEW> exportFn)` Registers the `export` primitive.
    `<R_NEW> AggregateOperation1<T0,A,R_NEW>` | AggregateOperationBuilder.Arity1.`andExportFinish(DistributedFunction<? super A,? extends R_NEW> exportFinishFn)` Registers the supplied function as both the `export` and `finish` primitive.
    `<R_NEW> AggregateOperation2<T0,T1,A,R_NEW>` | AggregateOperationBuilder.Arity2.`andExportFinish(DistributedFunction<? super A,? extends R_NEW> exportFinishFn)` Registers the supplied function as both the `export` and `finish` primitive.
    `<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.
    `<R_NEW> AggregateOperation<A,R_NEW>` | AggregateOperationBuilder.VarArity.`andExportFinish(DistributedFunction<? super A,? extends R_NEW> exportFinishFn)` Registers the supplied function as both the `export` and `finish` primitive.
    `AggregateOperation1<T0,A,R>` | AggregateOperationBuilder.Arity1.`andFinish(DistributedFunction<? super A,? extends R> finishFn)` Registers the supplied function as the `finish` primitive.
    `AggregateOperation2<T0,T1,A,R>` | AggregateOperationBuilder.Arity2.`andFinish(DistributedFunction<? super A,? extends R> finishFn)` Registers the supplied function as the `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.
    `AggregateOperation<A,R>` | AggregateOperationBuilder.VarArity.`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)`
    `<R_NEW> AggregateOperation2<T0,T1,A,R_NEW>` | AggregateOperation2.`andThen(DistributedFunction<? super R,? extends R_NEW> thenFn)`
    `<R_NEW> AggregateOperation1<T,A,R_NEW>` | AggregateOperation1.`andThen(DistributedFunction<? super R,? extends R_NEW> thenFn)`
    `<R_NEW> AggregateOperation<A,R_NEW>` | AggregateOperation.`andThen(DistributedFunction<? super R,? extends R_NEW> thenFn)` Returns a copy of this aggregate operation, but with the `export` and `finish` primitives composed with the supplied `thenFn`.
    `<R> AggregateOperation<Object[],R>` | CoAggregateOperationBuilder.`build(DistributedFunction<? super ItemsByTag,? extends R> exportFinishFn)` Builds and returns the multi-input `AggregateOperation`.
    `<R> AggregateOperation1<T,Object[],R>` | AllOfAggregationBuilder.`build(DistributedFunction<ItemsByTag,R> exportFinishFn)` Builds and returns the composite `AggregateOperation1`.
    `static <T,K> AggregateOperation1<T,Map<K,List<T>>,Map<K,List<T>>>` | AggregateOperations.`groupingBy(DistributedFunction<? super T,? extends K> keyFn)` Returns an `AggregateOperation1` that accumulates the items into a `HashMap` where the key is the result of applying `keyFn` and the value is a list of the items with that key.
    `static <T,K,A,R> AggregateOperation1<T,Map<K,A>,Map<K,R>>` | AggregateOperations.`groupingBy(DistributedFunction<? super T,? extends K> keyFn, AggregateOperation1<? super T,A,R> downstream)` Returns an `AggregateOperation1` that accumulates the items into a `HashMap` where the key is the result of applying `keyFn` and the value is the result of applying the downstream aggregate operation to the items with that key.
    `static <T,K,R,A,M extends Map<K,R>> AggregateOperation1<T,Map<K,A>,M>` | AggregateOperations.`groupingBy(DistributedFunction<? super T,? extends K> keyFn, DistributedSupplier<M> createMapFn, AggregateOperation1<? super T,A,R> downstream)` Returns an `AggregateOperation1` that accumulates the items into a `Map` (as obtained from `createMapFn`) where the key is the result of applying `keyFn` and the value is the result of applying the downstream aggregate operation to the items with that key.
    `static <T,U,A,R> AggregateOperation1<T,A,R>` | AggregateOperations.`mapping(DistributedFunction<? super T,? extends U> mapFn, AggregateOperation1<? super U,A,? extends R> downstream)` Adapts an aggregate operation accepting items of type `U` to one accepting items of type `T` by applying a mapping function to each item before accumulation.
    `static <T,A> AggregateOperation1<T,MutableReference<A>,A>` | AggregateOperations.`reducing(A emptyAccValue, DistributedFunction<? super T,? extends A> toAccValueFn, DistributedBinaryOperator<A> combineAccValuesFn, DistributedBinaryOperator<A> deductAccValueFn)` A reducing operation maintains an accumulated value that starts out as `emptyAccValue` and is iteratively transformed by applying `combineAccValuesFn` to it and each stream item's accumulated value, as returned from `toAccValueFn`.
    `static <T,K,U> AggregateOperation1<T,Map<K,U>,Map<K,U>>` | AggregateOperations.`toMap(DistributedFunction<? super T,? extends K> keyFn, DistributedFunction<? super T,? extends U> valueFn)` Returns an aggregate operation that accumulates the items into a `HashMap` whose keys and values are the result of applying the provided mapping functions.
    `static <T,K,U> AggregateOperation1<T,Map<K,U>,Map<K,U>>` | AggregateOperations.`toMap(DistributedFunction<? super T,? extends K> keyFn, DistributedFunction<? super T,? extends U> valueFn)` Returns an aggregate operation that accumulates the items into a `HashMap` whose keys and values are the result of applying the provided mapping functions.
    `static <T,K,U> AggregateOperation1<T,Map<K,U>,Map<K,U>>` | AggregateOperations.`toMap(DistributedFunction<? super T,? extends K> keyFn, DistributedFunction<? super T,? extends U> valueFn, DistributedBinaryOperator<U> mergeFn)` Returns an aggregate operation that accumulates the items into a `HashMap` whose keys and values are the result of applying the provided mapping functions.
    `static <T,K,U> AggregateOperation1<T,Map<K,U>,Map<K,U>>` | AggregateOperations.`toMap(DistributedFunction<? super T,? extends K> keyFn, DistributedFunction<? super T,? extends U> valueFn, DistributedBinaryOperator<U> mergeFn)` Returns an aggregate operation that accumulates the items into a `HashMap` whose keys and values are the result of applying the provided mapping functions.
    `static <T,K,U,M extends Map<K,U>> AggregateOperation1<T,M,M>` | AggregateOperations.`toMap(DistributedFunction<? super T,? extends K> keyFn, DistributedFunction<? super T,? extends U> valueFn, DistributedBinaryOperator<U> mergeFn, DistributedSupplier<M> createMapFn)` Returns an `AggregateOperation1` that accumulates elements into a `Map` whose keys and values are the result of applying the provided mapping functions to the input elements.
    `static <T,K,U,M extends Map<K,U>> AggregateOperation1<T,M,M>` | AggregateOperations.`toMap(DistributedFunction<? super T,? extends K> keyFn, DistributedFunction<? super T,? extends U> valueFn, DistributedBinaryOperator<U> mergeFn, DistributedSupplier<M> createMapFn)` Returns an `AggregateOperation1` that accumulates elements into a `Map` whose keys and values are the result of applying the provided mapping functions to the input elements.
    `default <T> AggregateOperation1<T,A,R>` | AggregateOperation.`withCombiningAccumulateFn(DistributedFunction<T,A> getAccFn)` Returns a copy of this aggregate operation, but with the `accumulate` primitive replaced with one that expects to find accumulator objects in the input items and combines them all into a single accumulator of the same type.

  - ### Uses of DistributedFunction in com.hazelcast.jet.core

    Methods in com.hazelcast.jet.core with parameters of type DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `static ProcessorMetaSupplier` | ProcessorMetaSupplier.`of(DistributedFunction<? super Address,? extends ProcessorSupplier> addressToSupplier)` Factory method that creates a `ProcessorMetaSupplier` from the supplied function that maps a cluster member address to a `ProcessorSupplier`.
    `static ProcessorMetaSupplier` | ProcessorMetaSupplier.`of(DistributedFunction<? super Address,? extends ProcessorSupplier> addressToSupplier, int preferredLocalParallelism)` Factory method that creates a `ProcessorMetaSupplier` from the supplied function that maps a cluster member address to a `ProcessorSupplier`.
    `<T> Edge` | Edge.`partitioned(DistributedFunction<T,?> extractKeyFn)` Activates the `PARTITIONED` routing policy and applies the `default` Hazelcast partitioning strategy.
    `<T,K> Edge` | Edge.`partitioned(DistributedFunction<T,K> extractKeyFn, Partitioner<? super K> partitioner)` Activates the `PARTITIONED` routing policy and applies the provided partitioning strategy.

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

    Methods in com.hazelcast.jet.core.processor with parameters of type DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `static <S,T> ProcessorMetaSupplier` | SourceProcessors.`convenientSourceP(DistributedFunction<? super Processor.Context,? extends S> createFn, DistributedBiConsumer<? super S,? super SourceBuilder.SourceBuffer<T>> fillBufferFn, DistributedConsumer<? super S> destroyFn, int preferredLocalParallelism)` Returns a supplier of processors for a source that the user can create using the `SourceBuilder`.
    `static <S,T> ProcessorMetaSupplier` | SourceProcessors.`convenientTimestampedSourceP(DistributedFunction<? super Processor.Context,? extends S> createFn, DistributedBiConsumer<? super S,? super SourceBuilder.TimestampedSourceBuffer<T>> fillBufferFn, WatermarkGenerationParams<? super com.hazelcast.jet.impl.JetEvent<T>> wmParams, DistributedConsumer<? super S> destroyFn, int preferredLocalParallelism)` Returns a supplier of processors for a source that the user can create using the `SourceBuilder`.
    `static <T,R> DistributedSupplier<Processor>` | Processors.`flatMapP(DistributedFunction<T,? extends Traverser<? extends R>> flatMapFn)` Returns a supplier of processors for a vertex that applies the provided item-to-traverser mapping function to each received item and emits all the items from the resulting traverser.
    `static <T,R> DistributedSupplier<Processor>` | Processors.`mapP(DistributedFunction<T,R> mapFn)` Returns a supplier of processors for a vertex which, for each received item, emits the result of applying the given mapping function to it.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`mergeMapP(String mapName, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends V> toValueFn, DistributedBinaryOperator<V> mergeFn)` Returns a supplier of processors for `Sinks.mapWithMerging(String, DistributedFunction, DistributedFunction, DistributedBinaryOperator)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`mergeMapP(String mapName, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends V> toValueFn, DistributedBinaryOperator<V> mergeFn)` Returns a supplier of processors for `Sinks.mapWithMerging(String, DistributedFunction, DistributedFunction, DistributedBinaryOperator)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`mergeRemoteMapP(String mapName, ClientConfig clientConfig, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends V> toValueFn, DistributedBinaryOperator<V> mergeFn)` Returns a supplier of processors for `Sinks.remoteMapWithMerging(String, ClientConfig, DistributedFunction, DistributedFunction, DistributedBinaryOperator)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`mergeRemoteMapP(String mapName, ClientConfig clientConfig, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends V> toValueFn, DistributedBinaryOperator<V> mergeFn)` Returns a supplier of processors for `Sinks.remoteMapWithMerging(String, ClientConfig, DistributedFunction, DistributedFunction, DistributedBinaryOperator)`.
    `static <T> DistributedSupplier<Processor>` | DiagnosticProcessors.`peekInputP(DistributedFunction<T,? extends CharSequence> toStringFn, DistributedPredicate<T> shouldLogFn, DistributedSupplier<Processor> wrapped)` Same as `peekInput(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `DistributedSupplier` of processors instead of a meta-supplier.
    `static <T> ProcessorMetaSupplier` | DiagnosticProcessors.`peekInputP(DistributedFunction<T,? extends CharSequence> toStringFn, DistributedPredicate<T> shouldLogFn, ProcessorMetaSupplier wrapped)` Returns a meta-supplier that wraps the provided one and adds a logging layer to each processor it creates.
    `static <T> ProcessorSupplier` | DiagnosticProcessors.`peekInputP(DistributedFunction<T,? extends CharSequence> toStringFn, DistributedPredicate<T> shouldLogFn, ProcessorSupplier wrapped)` Same as `peekInput(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `ProcessorSupplier` instead of a meta-supplier.
    `static <T> DistributedSupplier<Processor>` | DiagnosticProcessors.`peekOutputP(DistributedFunction<? super T,? extends CharSequence> toStringFn, DistributedPredicate<? super T> shouldLogFn, DistributedSupplier<Processor> wrapped)` Same as `peekOutput(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `DistributedSupplier` of processors instead of a meta-supplier.
    `static <T> ProcessorMetaSupplier` | DiagnosticProcessors.`peekOutputP(DistributedFunction<? super T,? extends CharSequence> toStringFn, DistributedPredicate<? super T> shouldLogFn, ProcessorMetaSupplier wrapped)` Returns a meta-supplier that wraps the provided one and adds a logging layer to each processor it creates.
    `static <T> ProcessorSupplier` | DiagnosticProcessors.`peekOutputP(DistributedFunction<? super T,? extends CharSequence> toStringFn, DistributedPredicate<? super T> shouldLogFn, ProcessorSupplier wrapped)` Same as `peekOutput(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `ProcessorSupplier` instead of a meta-supplier.
    `static <K,V> DistributedSupplier<Processor>` | DiagnosticProcessors.`peekSnapshotP(DistributedFunction<? super Map.Entry<K,V>,? extends CharSequence> toStringFn, DistributedPredicate<? super Map.Entry<K,V>> shouldLogFn, DistributedSupplier<Processor> wrapped)` Same as `peekSnapshot(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `DistributedSupplier` of processors instead of a meta-supplier.
    `static <K,V> ProcessorMetaSupplier` | DiagnosticProcessors.`peekSnapshotP(DistributedFunction<? super Map.Entry<K,V>,? extends CharSequence> toStringFn, DistributedPredicate<? super Map.Entry<K,V>> shouldLogFn, ProcessorMetaSupplier wrapped)` Returns a meta-supplier that wraps the provided one and adds a logging layer to each processor it creates.
    `static <K,V> ProcessorSupplier` | DiagnosticProcessors.`peekSnapshotP(DistributedFunction<? super Map.Entry<K,V>,? extends CharSequence> toStringFn, DistributedPredicate<? super Map.Entry<K,V>> shouldLogFn, ProcessorSupplier wrapped)` Same as `peekSnapshot(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `ProcessorSupplier` instead of a meta-supplier.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`readJdbcP(DistributedSupplier<? extends Connection> connectionSupplier, ToResultSetFunction resultSetFn, DistributedFunction<? super ResultSet,? extends T> mapOutputFn)` Returns a supplier of processors for `Sources.jdbc( DistributedSupplier, ToResultSetFunction, DistributedFunction)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`readJdbcP(String connectionURL, String query, DistributedFunction<? super ResultSet,? extends T> mapOutputFn)` Returns a supplier of processors for `Sources.jdbc(String, String, DistributedFunction)`.
    `static <T,K,V> ProcessorMetaSupplier` | SourceProcessors.`readMapP(String mapName, Predicate<? super K,? super V> predicate, DistributedFunction<? super Map.Entry<K,V>,? extends T> projectionFn)` Returns a supplier of processors for `Sources.map(String, Predicate, DistributedFunction)`.
    `static <T,K,V> ProcessorMetaSupplier` | SourceProcessors.`readRemoteMapP(String mapName, ClientConfig clientConfig, Predicate<? super K,? super V> predicate, DistributedFunction<? super Map.Entry<K,V>,? extends T> projectionFn)` Returns a supplier of processors for `Sources.remoteMap(String, ClientConfig, Predicate, DistributedFunction)`.
    `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.
    `static <T,K,V> ProcessorMetaSupplier` | SourceProcessors.`streamCacheP(String cacheName, DistributedPredicate<? super EventJournalCacheEvent<K,V>> predicateFn, DistributedFunction<? super EventJournalCacheEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos, WatermarkGenerationParams<? super T> wmGenParams)` Returns a supplier of processors for `Sources.cacheJournal(String, DistributedPredicate, DistributedFunction, JournalInitialPosition)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsQueueP(DistributedSupplier<? extends javax.jms.Connection> connectionSupplier, DistributedFunction<? super javax.jms.Connection,? extends javax.jms.Session> sessionFn, DistributedFunction<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, DistributedConsumer<? super javax.jms.Session> flushFn, DistributedFunction<? super javax.jms.Message,? extends T> projectionFn)` Returns a supplier of processors for `Sources.jmsQueueBuilder(com.hazelcast.jet.function.DistributedSupplier<? extends javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsQueueP(DistributedSupplier<? extends javax.jms.Connection> connectionSupplier, DistributedFunction<? super javax.jms.Connection,? extends javax.jms.Session> sessionFn, DistributedFunction<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, DistributedConsumer<? super javax.jms.Session> flushFn, DistributedFunction<? super javax.jms.Message,? extends T> projectionFn)` Returns a supplier of processors for `Sources.jmsQueueBuilder(com.hazelcast.jet.function.DistributedSupplier<? extends javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsQueueP(DistributedSupplier<? extends javax.jms.Connection> connectionSupplier, DistributedFunction<? super javax.jms.Connection,? extends javax.jms.Session> sessionFn, DistributedFunction<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, DistributedConsumer<? super javax.jms.Session> flushFn, DistributedFunction<? super javax.jms.Message,? extends T> projectionFn)` Returns a supplier of processors for `Sources.jmsQueueBuilder(com.hazelcast.jet.function.DistributedSupplier<? extends javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsTopicP(DistributedSupplier<? extends javax.jms.Connection> connectionSupplier, DistributedFunction<? super javax.jms.Connection,? extends javax.jms.Session> sessionFn, DistributedFunction<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, DistributedConsumer<? super javax.jms.Session> flushFn, DistributedFunction<? super javax.jms.Message,? extends T> projectionFn)` Returns a supplier of processors for `Sources.jmsTopicBuilder(com.hazelcast.jet.function.DistributedSupplier<? extends javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsTopicP(DistributedSupplier<? extends javax.jms.Connection> connectionSupplier, DistributedFunction<? super javax.jms.Connection,? extends javax.jms.Session> sessionFn, DistributedFunction<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, DistributedConsumer<? super javax.jms.Session> flushFn, DistributedFunction<? super javax.jms.Message,? extends T> projectionFn)` Returns a supplier of processors for `Sources.jmsTopicBuilder(com.hazelcast.jet.function.DistributedSupplier<? extends javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsTopicP(DistributedSupplier<? extends javax.jms.Connection> connectionSupplier, DistributedFunction<? super javax.jms.Connection,? extends javax.jms.Session> sessionFn, DistributedFunction<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, DistributedConsumer<? super javax.jms.Session> flushFn, DistributedFunction<? super javax.jms.Message,? extends T> projectionFn)` Returns a supplier of processors for `Sources.jmsTopicBuilder(com.hazelcast.jet.function.DistributedSupplier<? extends javax.jms.ConnectionFactory>)`.
    `static <T,K,V> ProcessorMetaSupplier` | SourceProcessors.`streamMapP(String mapName, DistributedPredicate<? super EventJournalMapEvent<K,V>> predicateFn, DistributedFunction<? super EventJournalMapEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos, WatermarkGenerationParams<? super T> wmGenParams)` Returns a supplier of processors for `Sources.mapJournal(String, DistributedPredicate, DistributedFunction, JournalInitialPosition)`.
    `static <T,K,V> ProcessorMetaSupplier` | SourceProcessors.`streamRemoteCacheP(String cacheName, ClientConfig clientConfig, DistributedPredicate<? super EventJournalCacheEvent<K,V>> predicateFn, DistributedFunction<? super EventJournalCacheEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos, WatermarkGenerationParams<? super T> wmGenParams)` Returns a supplier of processors for `Sources.remoteCacheJournal(String, ClientConfig, DistributedPredicate, DistributedFunction, JournalInitialPosition)`.
    `static <T,K,V> ProcessorMetaSupplier` | SourceProcessors.`streamRemoteMapP(String mapName, ClientConfig clientConfig, DistributedPredicate<? super EventJournalMapEvent<K,V>> predicateFn, DistributedFunction<? super EventJournalMapEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos, WatermarkGenerationParams<? super T> wmGenParams)` Returns a supplier of processors for `Sources.remoteMapJournal(String, ClientConfig, DistributedPredicate, DistributedFunction, JournalInitialPosition)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateMapP(String mapName, DistributedFunction<? super T,? extends K> toKeyFn, DistributedBiFunction<? super V,? super T,? extends V> updateFn)` Returns a supplier of processors for `Sinks.mapWithEntryProcessor(String, DistributedFunction, DistributedFunction)` .
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateMapP(String mapName, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a supplier of processors for `Sinks.mapWithEntryProcessor(String, DistributedFunction, DistributedFunction)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateMapP(String mapName, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a supplier of processors for `Sinks.mapWithEntryProcessor(String, DistributedFunction, DistributedFunction)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateRemoteMapP(String mapName, ClientConfig clientConfig, DistributedFunction<? super T,? extends K> toKeyFn, DistributedBiFunction<? super V,? super T,? extends V> updateFn)` Returns a supplier of processors for `Sinks.remoteMapWithUpdating(String, ClientConfig, DistributedFunction , DistributedBiFunction)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateRemoteMapP(String mapName, ClientConfig clientConfig, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a supplier of processors for `Sinks.remoteMapWithEntryProcessor(String, ClientConfig, DistributedFunction, DistributedFunction)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateRemoteMapP(String mapName, ClientConfig clientConfig, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a supplier of processors for `Sinks.remoteMapWithEntryProcessor(String, ClientConfig, DistributedFunction, DistributedFunction)`.
    `static <W,T> DistributedSupplier<Processor>` | SinkProcessors.`writeBufferedP(DistributedFunction<? super Processor.Context,? extends W> createFn, DistributedBiConsumer<? super W,? super T> onReceiveFn, DistributedConsumer<? super W> flushFn)` Shortcut for `SinkProcessors.writeBufferedP(DistributedFunction, DistributedBiConsumer, DistributedConsumer, DistributedConsumer)` with a no-op `destroyFn`.
    `static <W,T> DistributedSupplier<Processor>` | SinkProcessors.`writeBufferedP(DistributedFunction<? super Processor.Context,? extends W> createFn, DistributedBiConsumer<? super W,? super T> onReceiveFn, DistributedConsumer<? super W> flushFn, DistributedConsumer<? super W> destroyFn)` Returns a supplier of processors for a vertex that drains all the items from the inbox to an internal writer object and then does a flush.
    `static <T> ProcessorMetaSupplier` | SinkProcessors.`writeFileP(String directoryName, DistributedFunction<? super T,? extends String> toStringFn, Charset charset, boolean append)` Returns a supplier of processors for `Sinks.filesBuilder(java.lang.String)`.
    `static <T> ProcessorMetaSupplier` | SinkProcessors.`writeJmsQueueP(DistributedSupplier<? extends javax.jms.Connection> connectionSupplier, DistributedFunction<? super javax.jms.Connection,? extends javax.jms.Session> sessionF, DistributedBiFunction<? super javax.jms.Session,? super T,? extends javax.jms.Message> messageFn, DistributedBiConsumer<? super javax.jms.MessageProducer,? super javax.jms.Message> sendFn, DistributedConsumer<? super javax.jms.Session> flushFn, String name)` Returns a supplier of processors for `Sinks.jmsQueueBuilder(com.hazelcast.jet.function.DistributedSupplier<javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SinkProcessors.`writeJmsTopicP(DistributedSupplier<? extends javax.jms.Connection> connectionSupplier, DistributedFunction<? super javax.jms.Connection,? extends javax.jms.Session> sessionF, DistributedBiFunction<? super javax.jms.Session,? super T,? extends javax.jms.Message> messageFn, DistributedBiConsumer<? super javax.jms.MessageProducer,? super javax.jms.Message> sendFn, DistributedConsumer<? super javax.jms.Session> flushFn, String name)` Returns a supplier of processors for `Sinks.jmsTopicBuilder(com.hazelcast.jet.function.DistributedSupplier<javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | DiagnosticProcessors.`writeLoggerP(DistributedFunction<T,? extends CharSequence> toStringFn)` Returns a meta-supplier of processors for a sink vertex that logs all the data items it receives.
    `static <T> ProcessorMetaSupplier` | SinkProcessors.`writeSocketP(String host, int port, DistributedFunction<? super T,? extends String> toStringFn, Charset charset)` Returns a supplier of processors for `Sinks.socket(String, int)`.

    Method parameters in com.hazelcast.jet.core.processor with type arguments of type DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `static <K,A> DistributedSupplier<Processor>` | Processors.`accumulateByFrameP(List<DistributedFunction<?,? extends K>> keyFns, List<DistributedToLongFunction<?>> timestampFns, TimestampKind timestampKind, SlidingWindowPolicy winPolicy, AggregateOperation<A,?> aggrOp)` Returns a supplier of processors for the first-stage vertex in a two-stage sliding window aggregation setup (see the `class Javadoc` for an explanation of aggregation stages).
    `static <K,A> DistributedSupplier<Processor>` | Processors.`accumulateByKeyP(List<DistributedFunction<?,? extends K>> getKeyFns, AggregateOperation<A,?> aggrOp)` Returns a supplier of processors for the first-stage vertex in a two-stage group-and-aggregate setup.
    `static <K,A,R,OUT> DistributedSupplier<Processor>` | Processors.`aggregateByKeyP(List<DistributedFunction<?,? extends K>> keyFns, AggregateOperation<A,R> aggrOp, DistributedBiFunction<? super K,? super R,OUT> mapToOutputFn)` Returns a supplier of processors for a vertex that groups items by key and performs the provided aggregate operation on each group.
    `static <K,A,R,OUT> DistributedSupplier<Processor>` | Processors.`aggregateToSessionWindowP(long sessionTimeout, List<DistributedToLongFunction<?>> timestampFns, List<DistributedFunction<?,? extends K>> keyFns, AggregateOperation<A,R> aggrOp, KeyedWindowResultFunction<? super K,? super R,OUT> mapToOutputFn)` Returns a supplier of processors for a vertex that aggregates events into session windows.
    `static <K,A,R,OUT> DistributedSupplier<Processor>` | Processors.`aggregateToSlidingWindowP(List<DistributedFunction<?,? extends K>> keyFns, List<DistributedToLongFunction<?>> timestampFns, TimestampKind timestampKind, SlidingWindowPolicy winPolicy, AggregateOperation<A,R> aggrOp, KeyedWindowResultFunction<? super K,? super R,OUT> mapToOutputFn)` Returns a supplier of processors for a vertex that aggregates events into a sliding window in a single stage (see the `class Javadoc` for an explanation of aggregation stages).

  - ### Uses of DistributedFunction in com.hazelcast.jet.function

    Subinterfaces of DistributedFunction in com.hazelcast.jet.function
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `DistributedUnaryOperator<T>` `Serializable` variant of `java.util.function.UnaryOperator` which declares checked exception.

    Methods in com.hazelcast.jet.function that return DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `default <V> DistributedFunction<T,V>` | DistributedFunction.`andThen(DistributedFunction<? super R,? extends V> after)` `Serializable` variant of `java.util.function.Function#andThen(Function)`.
    `default <V> DistributedFunction<V,R>` | DistributedFunction.`compose(DistributedFunction<? super V,? extends T> before)` `Serializable` variant of `java.util.function.Function#compose(Function)`.
    `static <T> DistributedFunction<T,String>` | DistributedFunctions.`constantKey()` Returns a function that always evaluates to the `DistributedFunctions.CONSTANT_KEY`.
    `static <K,V> DistributedFunction<Map.Entry<K,V>,K>` | DistributedFunctions.`entryKey()` Returns a function that extracts the key of a `Map.Entry`.
    `static <K,V> DistributedFunction<Map.Entry<K,V>,V>` | DistributedFunctions.`entryValue()` Returns a function that extracts the value of a `Map.Entry`.
    `static <T> DistributedFunction<T,T>` | DistributedFunction.`identity()` `Serializable` variant of `java.util.function.Function#identity()`.
    `static <T> DistributedFunction<T,T>` | DistributedFunctions.`wholeItem()` Synonym for `identity()`, to be used as a projection function (e.g., key extractor).

    Methods in com.hazelcast.jet.function with parameters of type DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `default <V> DistributedFunction<T,V>` | DistributedFunction.`andThen(DistributedFunction<? super R,? extends V> after)` `Serializable` variant of `java.util.function.Function#andThen(Function)`.
    `default <V> DistributedBiFunction<T,U,V>` | DistributedBiFunction.`andThen(DistributedFunction<? super R,? extends V> after)` `Serializable` variant of `java.util.function.BiFunction#andThen(Function)`.
    `static <T,U extends Comparable<? super U>> DistributedComparator<T>` | DistributedComparator.`comparing(DistributedFunction<? super T,? extends U> toKeyFn)` `Serializable` variant of `java.util.Comparator#comparing(Function)`.
    `static <T,U> DistributedComparator<T>` | DistributedComparator.`comparing(DistributedFunction<? super T,? extends U> toKeyFn, DistributedComparator<? super U> keyComparator)` `Serializable` variant of `java.util.Comparator#comparing(Function, Comparator)`.
    `default <V> DistributedFunction<V,R>` | DistributedFunction.`compose(DistributedFunction<? super V,? extends T> before)` `Serializable` variant of `java.util.function.Function#compose(Function)`.
    `default <U extends Comparable<? super U>> DistributedComparator<T>` | DistributedComparator.`thenComparing(DistributedFunction<? super T,? extends U> toKeyFn)` `Serializable` variant of `java.util.Comparator#thenComparing(Function)`.
    `default <U> DistributedComparator<T>` | DistributedComparator.`thenComparing(DistributedFunction<? super T,? extends U> toKeyFn, DistributedComparator<? super U> keyComparator)` `Serializable` variant of `java.util.Comparator#thenComparing(Function, Comparator)`.

  - ### Uses of DistributedFunction in com.hazelcast.jet.hadoop

    Methods in com.hazelcast.jet.hadoop with parameters of type DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `static <E,K,V> Sink<E>` | HdfsSinks.`hdfs(org.apache.hadoop.mapred.JobConf jobConf, DistributedFunction<? super E,K> extractKeyF, DistributedFunction<? super E,V> extractValueF)` Returns a sink that writes to Apache Hadoop HDFS.
    `static <E,K,V> Sink<E>` | HdfsSinks.`hdfs(org.apache.hadoop.mapred.JobConf jobConf, DistributedFunction<? super E,K> extractKeyF, DistributedFunction<? super E,V> extractValueF)` Returns a sink that writes to Apache Hadoop HDFS.
    `static <E,K,V> ProcessorMetaSupplier` | HdfsProcessors.`writeHdfsP(org.apache.hadoop.mapred.JobConf jobConf, DistributedFunction<? super E,K> extractKeyFn, DistributedFunction<? super E,V> extractValueFn)` Returns a supplier of processors for `HdfsSinks.hdfs(JobConf, DistributedFunction, DistributedFunction)`.
    `static <E,K,V> ProcessorMetaSupplier` | HdfsProcessors.`writeHdfsP(org.apache.hadoop.mapred.JobConf jobConf, DistributedFunction<? super E,K> extractKeyFn, DistributedFunction<? super E,V> extractValueFn)` Returns a supplier of processors for `HdfsSinks.hdfs(JobConf, DistributedFunction, DistributedFunction)`.

  - ### Uses of DistributedFunction in com.hazelcast.jet.kafka

    Methods in com.hazelcast.jet.kafka with parameters of type DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `static <E,K,V> Sink<E>` | KafkaSinks.`kafka(Properties properties, DistributedFunction<? super E,org.apache.kafka.clients.producer.ProducerRecord<K,V>> toRecordFn)` Returns a source that publishes messages to an Apache Kafka topic.
    `static <K,V,T> StreamSource<T>` | KafkaSources.`kafka(Properties properties, DistributedFunction<org.apache.kafka.clients.consumer.ConsumerRecord<K,V>,T> projectionFn, String... topics)` Returns a source that consumes one or more Apache Kafka topics and emits items from them as `Map.Entry` instances.
    `static <E,K,V> Sink<E>` | KafkaSinks.`kafka(Properties properties, String topic, DistributedFunction<? super E,K> extractKeyFn, DistributedFunction<? super E,V> extractValueFn)` Convenience for `KafkaSinks.kafka(Properties, DistributedFunction)` which creates a `ProducerRecord` using the given topic and the given key and value mapping functions
    `static <E,K,V> Sink<E>` | KafkaSinks.`kafka(Properties properties, String topic, DistributedFunction<? super E,K> extractKeyFn, DistributedFunction<? super E,V> extractValueFn)` Convenience for `KafkaSinks.kafka(Properties, DistributedFunction)` which creates a `ProducerRecord` using the given topic and the given key and value mapping functions
    `static <K,V,T> ProcessorMetaSupplier` | KafkaProcessors.`streamKafkaP(Properties properties, DistributedFunction<? super org.apache.kafka.clients.consumer.ConsumerRecord<K,V>,? extends T> projectionFn, WatermarkGenerationParams<? super T> wmGenParams, String... topics)` Returns a supplier of processors for `KafkaSources.kafka(Properties, DistributedFunction, String...)`.
    `static <T,K,V> ProcessorMetaSupplier` | KafkaProcessors.`writeKafkaP(Properties properties, DistributedFunction<? super T,? extends org.apache.kafka.clients.producer.ProducerRecord<K,V>> toRecordFn)` Returns a supplier of processors for `KafkaSinks.kafka(Properties, DistributedFunction)`.
    `static <T,K,V> ProcessorMetaSupplier` | KafkaProcessors.`writeKafkaP(Properties properties, String topic, DistributedFunction<? super T,? extends K> extractKeyFn, DistributedFunction<? super T,? extends V> extractValueFn)` Returns a supplier of processors for `KafkaSinks.kafka(Properties, String, DistributedFunction, DistributedFunction)`.
    `static <T,K,V> ProcessorMetaSupplier` | KafkaProcessors.`writeKafkaP(Properties properties, String topic, DistributedFunction<? super T,? extends K> extractKeyFn, DistributedFunction<? super T,? extends V> extractValueFn)` Returns a supplier of processors for `KafkaSinks.kafka(Properties, String, DistributedFunction, DistributedFunction)`.

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

    Methods in com.hazelcast.jet.pipeline that return DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `DistributedFunction<JetInstance,? extends C>` | ContextFactory.`createFn()` Returns the create-function.
    `DistributedFunction<? super T,? extends K>` | StageWithKeyAndWindow.`keyFn()` Returns the function that extracts the grouping key from stream items.
    `DistributedFunction<? super T,? extends K>` | GeneralStageWithKey.`keyFn()` Returns the function that extracts the key from stream items.
    `DistributedFunction<? super T0,? extends K>` | JoinClause.`leftKeyFn()` Returns the left-hand key extractor function.
    `DistributedFunction<? super T1,? extends K>` | JoinClause.`rightKeyFn()` Returns the right-hand key extractor function.
    `DistributedFunction<? super T1,? extends T1_OUT>` | JoinClause.`rightProjectFn()` Returns the right-hand projection function.

    Methods in com.hazelcast.jet.pipeline with parameters of type DistributedFunction
    Modifier and Type | Method and Description
    --- | ---
    `static <S> SourceBuilder.Batch<Void>` | SourceBuilder.`batch(String name, DistributedFunction<? super Processor.Context,? extends S> createFn)` Returns a fluent-API builder with which you can create a batch source for a Jet pipeline.
    `<R> BatchStage<R>` | AggregateBuilder.`build(DistributedFunction<? super ItemsByTag,? extends R> finishFn)` Creates and returns a pipeline stage that performs the co-aggregation of the stages registered with this builder object.
    `<T> StreamSource<T>` | JmsSourceBuilder.`build(DistributedFunction<? super javax.jms.Message,? extends T> projectionFn)` Creates and returns the JMS `StreamSource` with the supplied components and the projection function `projectionFn`.
    `static <T,K,V> StreamSource<T>` | Sources.`cacheJournal(String cacheName, DistributedPredicate<? super EventJournalCacheEvent<K,V>> predicateFn, DistributedFunction<? super EventJournalCacheEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos)` Returns a source that will stream the `EventJournalCacheEvent` events of a Hazelcast `ICache` with the specified name.
    `JmsSourceBuilder` | JmsSourceBuilder.`connectionFn(DistributedFunction<? super javax.jms.ConnectionFactory,? extends javax.jms.Connection> connectionFn)` Sets the function which creates the connection from connection factory.
    `JmsSinkBuilder<T>` | JmsSinkBuilder.`connectionFn(DistributedFunction<javax.jms.ConnectionFactory,javax.jms.Connection> connectionFn)` Sets the function which creates the connection from connection factory.
    `JmsSourceBuilder` | JmsSourceBuilder.`consumerFn(DistributedFunction<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn)` Sets the function which creates the message consumer from session.
    `<R> StreamStage<R>` | StreamStage.`flatMap(DistributedFunction<? super T,? extends Traverser<? extends R>> flatMapFn)`
    `<R> GeneralStage<R>` | GeneralStage.`flatMap(DistributedFunction<? 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.
    `<R> BatchStage<R>` | BatchStage.`flatMap(DistributedFunction<? super T,? extends Traverser<? extends R>> flatMapFn)`
    `<K> StreamStageWithKey<T,K>` | StreamStage.`groupingKey(DistributedFunction<? super T,? extends K> keyFn)`
    `<K> StageWithKeyAndWindow<T,K>` | StageWithWindow.`groupingKey(DistributedFunction<? super T,? extends K> keyFn)` Specifies the function that will extract the grouping key from the items in the associated pipeline stage and moves on to the step in which you'll complete the construction of a windowed group-and-aggregate stage.
    `<K> GeneralStageWithKey<T,K>` | GeneralStage.`groupingKey(DistributedFunction<? super T,? extends K> keyFn)` Specifies the function that will extract a key from the items in the associated pipeline stage.
    `<K> BatchStageWithKey<T,K>` | BatchStage.`groupingKey(DistributedFunction<? super T,? extends K> keyFn)` Specifies the function that will extract a key from the items in the associated pipeline stage.
    `static <T> BatchSource<T>` | Sources.`jdbc(DistributedSupplier<? extends Connection> connectionSupplier, ToResultSetFunction resultSetFn, DistributedFunction<? super ResultSet,? extends T> createOutputFn)` Returns a source which connects to the specified database using the given `connectionSupplier`, queries the database and creates a result set using the the given `resultSetFn`.
    `static <T> BatchSource<T>` | Sources.`jdbc(String connectionURL, String query, DistributedFunction<? super ResultSet,? extends T> createOutputFn)` Convenience for `Sources.jdbc(DistributedSupplier, ToResultSetFunction, DistributedFunction)`.
    `static <K,T0,T1_OUT> JoinClause<K,T0,Map.Entry<K,T1_OUT>,T1_OUT>` | JoinClause.`joinMapEntries(DistributedFunction<? super T0,? extends K> leftKeyFn)` A shorthand factory for the common case of hash-joining with a stream of map entries.
    `static <T> Sink<T>` | Sinks.`logger(DistributedFunction<? super T,String> toStringFn)` Returns a sink that logs all the data items it receives, at the INFO level to the log category `WriteLoggerP`.
    `<R> StreamStage<R>` | StreamStage.`map(DistributedFunction<? super T,? extends R> mapFn)`
    `<R> GeneralStage<R>` | GeneralStage.`map(DistributedFunction<? super T,? extends R> mapFn)` Attaches a mapping stage which applies the supplied function to each input item independently and emits the function's result as the output item.
    `<R> BatchStage<R>` | BatchStage.`map(DistributedFunction<? super T,? extends R> mapFn)`
    `static <T,K,V> BatchSource<T>` | Sources.`map(IMap<? extends K,? extends V> map, Predicate<? super K,? super V> predicate, DistributedFunction<? super Map.Entry<K,V>,? extends T> projectionFn)` Convenience for `Sources.map(IMap, Predicate, Projection)` which uses a `DistributedFunction` as the projection function.
    `static <T,K,V> BatchSource<T>` | Sources.`map(String mapName, Predicate<? super K,? super V> predicate, DistributedFunction<? super Map.Entry<K,V>,? extends T> projectionFn)` Convenience for `Sources.map(String, Predicate, Projection)` which uses a `DistributedFunction` as the projection function.
    `static <T,K,V> StreamSource<T>` | Sources.`mapJournal(IMap<? extends K,? extends V> map, DistributedPredicate<? super EventJournalMapEvent<K,V>> predicateFn, DistributedFunction<? super EventJournalMapEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos)` Returns a source that will stream `EventJournalMapEvent`s of the given Hazelcast `IMap`.
    `static <T,K,V> StreamSource<T>` | Sources.`mapJournal(String mapName, DistributedPredicate<? super EventJournalMapEvent<K,V>> predicateFn, DistributedFunction<? super EventJournalMapEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos)` Returns a source that will stream `EventJournalMapEvent`s of the Hazelcast `IMap` with the specified name.
    `static <T,K,V> Sink<T>` | Sinks.`mapWithEntryProcessor(IMap<? super K,? super V> map, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a sink that uses the items it receives to create `EntryProcessor`s it submits to a Hazelcast `IMap` with the specified name.
    `static <T,K,V> Sink<T>` | Sinks.`mapWithEntryProcessor(IMap<? super K,? super V> map, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a sink that uses the items it receives to create `EntryProcessor`s it submits to a Hazelcast `IMap` with the specified name.
    `static <E,K,V> Sink<E>` | Sinks.`mapWithEntryProcessor(String mapName, DistributedFunction<? super E,? extends K> toKeyFn, DistributedFunction<? super E,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a sink that uses the items it receives to create `EntryProcessor`s it submits to a Hazelcast `IMap` with the specified name.
    `static <E,K,V> Sink<E>` | Sinks.`mapWithEntryProcessor(String mapName, DistributedFunction<? super E,? extends K> toKeyFn, DistributedFunction<? super E,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a sink that uses the items it receives to create `EntryProcessor`s it submits to a Hazelcast `IMap` with the specified name.
    `static <T,K,V> Sink<T>` | Sinks.`mapWithMerging(IMap<? super K,? super V> map, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends V> toValueFn, DistributedBinaryOperator<V> mergeFn)` Returns a sink that uses the supplied functions to extract the key and value with which to update a Hazelcast `IMap`.
    `static <T,K,V> Sink<T>` | Sinks.`mapWithMerging(IMap<? super K,? super V> map, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends V> toValueFn, DistributedBinaryOperator<V> mergeFn)` Returns a sink that uses the supplied functions to extract the key and value with which to update a Hazelcast `IMap`.
    `static <T,K,V> Sink<T>` | Sinks.`mapWithMerging(String mapName, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends V> toValueFn, DistributedBinaryOperator<V> mergeFn)` Returns a sink that uses the supplied functions to extract the key and value with which to update a Hazelcast `IMap`.
    `static <T,K,V> Sink<T>` | Sinks.`mapWithMerging(String mapName, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends V> toValueFn, DistributedBinaryOperator<V> mergeFn)` Returns a sink that uses the supplied functions to extract the key and value with which to update a Hazelcast `IMap`.
    `static <T,K,V> Sink<T>` | Sinks.`mapWithUpdating(IMap<? super K,? super V> map, DistributedFunction<? super T,? extends K> toKeyFn, DistributedBiFunction<? super V,? super T,? extends V> updateFn)` Returns a sink that uses the supplied key-extracting and value-updating functions to update a Hazelcast `IMap`.
    `static <T,K,V> Sink<T>` | Sinks.`mapWithUpdating(String mapName, DistributedFunction<? super T,? extends K> toKeyFn, DistributedBiFunction<? super V,? super T,? extends V> updateFn)` Returns a sink that uses the supplied key-extracting and value-updating functions to update a Hazelcast `IMap`.
    `static <K,T0,T1> JoinClause<K,T0,T1,T1>` | JoinClause.`onKeys(DistributedFunction<? super T0,? extends K> leftKeyFn, DistributedFunction<? super T1,? extends K> rightKeyFn)` Constructs and returns a join clause with the supplied left-hand and right-hand key extractor functions, and with an identity right-hand projection function.
    `static <K,T0,T1> JoinClause<K,T0,T1,T1>` | JoinClause.`onKeys(DistributedFunction<? super T0,? extends K> leftKeyFn, DistributedFunction<? super T1,? extends K> rightKeyFn)` Constructs and returns a join clause with the supplied left-hand and right-hand key extractor functions, and with an identity right-hand projection function.
    `default StreamStage<T>` | StreamStage.`peek(DistributedFunction<? super T,? extends CharSequence> toStringFn)`
    `default GeneralStage<T>` | GeneralStage.`peek(DistributedFunction<? super T,? extends CharSequence> toStringFn)` Adds a peeking layer to this compute stage which logs its output.
    `default BatchStage<T>` | BatchStage.`peek(DistributedFunction<? super T,? extends CharSequence> toStringFn)`
    `StreamStage<T>` | StreamStage.`peek(DistributedPredicate<? super T> shouldLogFn, DistributedFunction<? super T,? extends CharSequence> toStringFn)`
    `GeneralStage<T>` | GeneralStage.`peek(DistributedPredicate<? super T> shouldLogFn, DistributedFunction<? super T,? extends CharSequence> toStringFn)` Attaches a peeking stage which logs this stage's output and passes it through without transformation.
    `BatchStage<T>` | BatchStage.`peek(DistributedPredicate<? super T> shouldLogFn, DistributedFunction<? super T,? extends CharSequence> toStringFn)`
    `<T1_NEW_OUT> JoinClause<K,T0,T1,T1_NEW_OUT>` | JoinClause.`projecting(DistributedFunction<? super T1,? extends T1_NEW_OUT> rightProjectFn)` Returns a copy of this join clause, but with the right-hand projection function replaced with the supplied one.
    `static <T,K,V> StreamSource<T>` | Sources.`remoteCacheJournal(String cacheName, ClientConfig clientConfig, DistributedPredicate<? super EventJournalCacheEvent<K,V>> predicateFn, DistributedFunction<? super EventJournalCacheEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos)` Returns a source that will stream the `EventJournalCacheEvent` events of the Hazelcast `ICache` with the specified name from a remote cluster.
    `static <T,K,V> BatchSource<T>` | Sources.`remoteMap(String mapName, ClientConfig clientConfig, Predicate<? super K,? super V> predicate, DistributedFunction<? super Map.Entry<K,V>,? extends T> projectionFn)` Convenience for `Sources.remoteMap(String, ClientConfig, Predicate, Projection)` which use a `DistributedFunction` as the projection function.
    `static <T,K,V> StreamSource<T>` | Sources.`remoteMapJournal(String mapName, ClientConfig clientConfig, DistributedPredicate<? super EventJournalMapEvent<K,V>> predicateFn, DistributedFunction<? super EventJournalMapEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos)` Returns a source that will stream the `EventJournalMapEvent` events of the Hazelcast `IMap` with the specified name from a remote cluster.
    `static <E,K,V> Sink<E>` | Sinks.`remoteMapWithEntryProcessor(String mapName, ClientConfig clientConfig, DistributedFunction<? super E,? extends K> toKeyFn, DistributedFunction<? super E,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a sink equivalent to `Sinks.mapWithEntryProcessor(java.lang.String, com.hazelcast.jet.function.DistributedFunction<? super E, ? extends K>, com.hazelcast.jet.function.DistributedFunction<? super E, ? extends com.hazelcast.map.EntryProcessor<K, V>>)`, but for a map in a remote Hazelcast cluster identified by the supplied `ClientConfig`.
    `static <E,K,V> Sink<E>` | Sinks.`remoteMapWithEntryProcessor(String mapName, ClientConfig clientConfig, DistributedFunction<? super E,? extends K> toKeyFn, DistributedFunction<? super E,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a sink equivalent to `Sinks.mapWithEntryProcessor(java.lang.String, com.hazelcast.jet.function.DistributedFunction<? super E, ? extends K>, com.hazelcast.jet.function.DistributedFunction<? super E, ? extends com.hazelcast.map.EntryProcessor<K, V>>)`, but for a map in a remote Hazelcast cluster identified by the supplied `ClientConfig`.
    `static <T,K,V> Sink<T>` | Sinks.`remoteMapWithMerging(String mapName, ClientConfig clientConfig, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends V> toValueFn, DistributedBinaryOperator<V> mergeFn)` Returns a sink equivalent to `Sinks.mapWithMerging(String, DistributedBinaryOperator)`, but for a map in a remote Hazelcast cluster identified by the supplied `ClientConfig`.
    `static <T,K,V> Sink<T>` | Sinks.`remoteMapWithMerging(String mapName, ClientConfig clientConfig, DistributedFunction<? super T,? extends K> toKeyFn, DistributedFunction<? super T,? extends V> toValueFn, DistributedBinaryOperator<V> mergeFn)` Returns a sink equivalent to `Sinks.mapWithMerging(String, DistributedBinaryOperator)`, but for a map in a remote Hazelcast cluster identified by the supplied `ClientConfig`.
    `static <T,K,V> Sink<T>` | Sinks.`remoteMapWithUpdating(String mapName, ClientConfig clientConfig, DistributedFunction<? super T,? extends K> toKeyFn, DistributedBiFunction<? super V,? super T,? extends V> updateFn)` Returns a sink equivalent to `Sinks.mapWithUpdating(java.lang.String, com.hazelcast.jet.function.DistributedFunction<? super T, ? extends K>, com.hazelcast.jet.function.DistributedBiFunction<? super V, ? super T, ? extends V>)`, but for a map in a remote Hazelcast cluster identified by the supplied `ClientConfig`.
    `JmsSourceBuilder` | JmsSourceBuilder.`sessionFn(DistributedFunction<? super javax.jms.Connection,? extends javax.jms.Session> sessionFn)` Sets the function which creates the session from connection.
    `JmsSinkBuilder<T>` | JmsSinkBuilder.`sessionFn(DistributedFunction<javax.jms.Connection,javax.jms.Session> sessionFn)` Sets the function which creates a session from a connection.
    `static <W> SinkBuilder<W,Void>` | SinkBuilder.`sinkBuilder(String name, DistributedFunction<Processor.Context,? extends W> createFn)` Returns a builder object that offers a step-by-step fluent API to build a custom `Sink` for the Pipeline API.
    `static <T> Sink<T>` | Sinks.`socket(String host, int port, DistributedFunction<? super T,? extends String> toStringFn)` Convenience for `Sinks.socket(String, int, DistributedFunction, Charset)` with UTF-8 as the charset.
    `static <T> Sink<T>` | Sinks.`socket(String host, int port, DistributedFunction<? super T,? extends String> toStringFn, Charset charset)` Returns a sink that connects to the specified TCP socket and writes to it a string representation of the items it receives.
    `static <S> SourceBuilder.Stream<Void>` | SourceBuilder.`stream(String name, DistributedFunction<? super Processor.Context,? extends S> createFn)` Returns a fluent-API builder with which you can create an unbounded stream source for a Jet pipeline.
    `static <S> SourceBuilder.TimestampedStream<Void>` | SourceBuilder.`timestampedStream(String name, DistributedFunction<? super Processor.Context,? extends S> createFn)` Returns a fluent-API builder with which you can create an unbounded stream source for a Jet pipeline.
    `FileSinkBuilder<T>` | FileSinkBuilder.`toStringFn(DistributedFunction<? super T,String> toStringFn)` Sets the function which converts the item to its string representation.
    `static <C> ContextFactory<C>` | ContextFactory.`withCreateFn(DistributedFunction<JetInstance,? extends C> createContextFn)` Creates a new `ContextFactory` with the given create-function.

Copyright © 2018. All rights reserved.