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

- Packages that use FunctionEx
  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.
  com.hazelcast.jet.pipeline.test | This package contains various mock sources to help with pipeline testing and development.
  com.hazelcast.jet.s3 | AWS S3 read/write support for Hazelcast Jet.

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

    Methods in com.hazelcast.jet that return FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `static <K,V> FunctionEx<EventJournalCacheEvent<K,V>,V>` | Util.`cacheEventNewValue()` Returns a projection that extracts the new value from an `EventJournalCacheEvent`.
    `static <K,V> FunctionEx<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> FunctionEx<EventJournalMapEvent<K,V>,V>` | Util.`mapEventNewValue()` Returns a projection that extracts the new value from an `EventJournalMapEvent`.
    `static <K,V> FunctionEx<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 FunctionEx in com.hazelcast.jet.aggregate

    Methods in com.hazelcast.jet.aggregate that return FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `FunctionEx<? super A,? extends R>` | AggregateOperation.`exportFn()` A primitive that transforms the accumulator into a result of the aggregation.
    `default FunctionEx<? 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 FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `<R_NEW> AggregateOperationBuilder.Arity1<T0,A,R_NEW>` | AggregateOperationBuilder.Arity1.`andExport(FunctionEx<? super A,? extends R_NEW> exportFn)` Registers the `export` primitive.
    `<R_NEW> AggregateOperationBuilder.Arity2<T0,T1,A,R_NEW>` | AggregateOperationBuilder.Arity2.`andExport(FunctionEx<? super A,? extends R_NEW> exportFn)` Registers the `export` primitive.
    `<R_NEW> AggregateOperationBuilder.Arity3<T0,T1,T2,A,R_NEW>` | AggregateOperationBuilder.Arity3.`andExport(FunctionEx<? super A,? extends R_NEW> exportFn)` Registers the `export` primitive.
    `<R_NEW> AggregateOperationBuilder.VarArity<A,R_NEW>` | AggregateOperationBuilder.VarArity.`andExport(FunctionEx<? super A,? extends R_NEW> exportFn)` Registers the `export` primitive.
    `<R_NEW> AggregateOperation1<T0,A,R_NEW>` | AggregateOperationBuilder.Arity1.`andExportFinish(FunctionEx<? 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(FunctionEx<? 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(FunctionEx<? 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(FunctionEx<? super A,? extends R_NEW> exportFinishFn)` Registers the supplied function as both the `export` and `finish` primitive.
    `AggregateOperation1<T0,A,R>` | AggregateOperationBuilder.Arity1.`andFinish(FunctionEx<? super A,? extends R> finishFn)` Registers the supplied function as the `finish` primitive.
    `AggregateOperation2<T0,T1,A,R>` | AggregateOperationBuilder.Arity2.`andFinish(FunctionEx<? super A,? extends R> finishFn)` Registers the supplied function as the `finish` primitive.
    `AggregateOperation3<T0,T1,T2,A,R>` | AggregateOperationBuilder.Arity3.`andFinish(FunctionEx<? super A,? extends R> finishFn)` Registers the supplied function as the `finish` primitive.
    `AggregateOperation<A,R>` | AggregateOperationBuilder.VarArity.`andFinish(FunctionEx<? super A,? extends R> finishFn)` Registers the supplied function as the `finish` primitive.
    `<R_NEW> AggregateOperation3<T0,T1,T2,A,R_NEW>` | AggregateOperation3.`andThen(FunctionEx<? super R,? extends R_NEW> thenFn)`
    `<R_NEW> AggregateOperation2<T0,T1,A,R_NEW>` | AggregateOperation2.`andThen(FunctionEx<? super R,? extends R_NEW> thenFn)`
    `<R_NEW> AggregateOperation1<T,A,R_NEW>` | AggregateOperation1.`andThen(FunctionEx<? super R,? extends R_NEW> thenFn)`
    `<R_NEW> AggregateOperation<A,R_NEW>` | AggregateOperation.`andThen(FunctionEx<? 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(FunctionEx<? super ItemsByTag,? extends R> exportFinishFn)` Builds and returns the multi-input `AggregateOperation`.
    `<R> AggregateOperation1<T,Object[],R>` | AllOfAggregationBuilder.`build(FunctionEx<ItemsByTag,R> exportFinishFn)` Builds and returns the composite `AggregateOperation1`.
    `static <T,U,A,R> AggregateOperation1<T,A,R>` | AggregateOperations.`flatMapping(FunctionEx<? super T,? extends Traverser<? extends U>> flatMapFn, AggregateOperation1<? super U,A,? extends R> downstream)` Adapts an aggregate operation that takes items of type `U` to one that takes items of type `T`, by exploding each `T` into a sequence of `U`s and then accumulating all of them.
    `static <T,K> AggregateOperation1<T,Map<K,List<T>>,Map<K,List<T>>>` | AggregateOperations.`groupingBy(FunctionEx<? super T,? extends K> keyFn)` Returns an aggregate operation 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(FunctionEx<? super T,? extends K> keyFn, AggregateOperation1<? super T,A,R> downstream)` Returns an aggregate operation 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(FunctionEx<? super T,? extends K> keyFn, SupplierEx<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(FunctionEx<? super T,? extends U> mapFn, AggregateOperation1<? super U,A,? extends R> downstream)` Adapts an aggregate operation that takes items of type `U` to one that takes items of type `T`, by applying the given mapping function to each item.
    `static <T,A> AggregateOperation1<T,MutableReference<A>,A>` | AggregateOperations.`reducing(A emptyAccValue, FunctionEx<? super T,? extends A> toAccValueFn, BinaryOperatorEx<A> combineAccValuesFn, BinaryOperatorEx<A> deductAccValueFn)` Returns an aggregate operation that constructs the result through the process of immutable reduction: The initial accumulated value is `emptyAccValue`.
    `static <T,K,U> AggregateOperation1<T,Map<K,U>,Map<K,U>>` | AggregateOperations.`toMap(FunctionEx<? super T,? extends K> keyFn, FunctionEx<? 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(FunctionEx<? super T,? extends K> keyFn, FunctionEx<? 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(FunctionEx<? super T,? extends K> keyFn, FunctionEx<? super T,? extends U> valueFn, BinaryOperatorEx<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(FunctionEx<? super T,? extends K> keyFn, FunctionEx<? super T,? extends U> valueFn, BinaryOperatorEx<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(FunctionEx<? super T,? extends K> keyFn, FunctionEx<? super T,? extends U> valueFn, BinaryOperatorEx<U> mergeFn, SupplierEx<M> createMapFn)` Returns an aggregate operation that accumulates elements into a user-supplied `Map` instance.
    `static <T,K,U,M extends Map<K,U>> AggregateOperation1<T,M,M>` | AggregateOperations.`toMap(FunctionEx<? super T,? extends K> keyFn, FunctionEx<? super T,? extends U> valueFn, BinaryOperatorEx<U> mergeFn, SupplierEx<M> createMapFn)` Returns an aggregate operation that accumulates elements into a user-supplied `Map` instance.
    `default <T> AggregateOperation1<T,A,R>` | AggregateOperation.`withCombiningAccumulateFn(FunctionEx<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 FunctionEx in com.hazelcast.jet.core

    Methods in com.hazelcast.jet.core with parameters of type FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `static ProcessorMetaSupplier` | ProcessorMetaSupplier.`of(FunctionEx<? 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(FunctionEx<? 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(FunctionEx<T,?> extractKeyFn)` Activates the `PARTITIONED` routing policy and applies the `default` Hazelcast partitioning strategy.
    `<T,K> Edge` | Edge.`partitioned(FunctionEx<T,K> extractKeyFn, Partitioner<? super K> partitioner)` Activates the `PARTITIONED` routing policy and applies the provided partitioning strategy.

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

    Methods in com.hazelcast.jet.core.processor with parameters of type FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `static <C,T,S> ProcessorMetaSupplier` | SourceProcessors.`convenientSourceP(FunctionEx<? super Processor.Context,? extends C> createFn, BiConsumerEx<? super C,? super SourceBuilder.SourceBuffer<T>> fillBufferFn, FunctionEx<? super C,? extends S> createSnapshotFn, BiConsumerEx<? super C,? super List<S>> restoreSnapshotFn, ConsumerEx<? super C> destroyFn, int preferredLocalParallelism, boolean isBatch)` Returns a supplier of processors for a source that the user can create using the `SourceBuilder`.
    `static <C,T,S> ProcessorMetaSupplier` | SourceProcessors.`convenientSourceP(FunctionEx<? super Processor.Context,? extends C> createFn, BiConsumerEx<? super C,? super SourceBuilder.SourceBuffer<T>> fillBufferFn, FunctionEx<? super C,? extends S> createSnapshotFn, BiConsumerEx<? super C,? super List<S>> restoreSnapshotFn, ConsumerEx<? super C> destroyFn, int preferredLocalParallelism, boolean isBatch)` Returns a supplier of processors for a source that the user can create using the `SourceBuilder`.
    `static <C,T,S> ProcessorMetaSupplier` | SourceProcessors.`convenientTimestampedSourceP(FunctionEx<? super Processor.Context,? extends C> createFn, BiConsumerEx<? super C,? super SourceBuilder.TimestampedSourceBuffer<T>> fillBufferFn, EventTimePolicy<? super T> eventTimePolicy, FunctionEx<? super C,? extends S> createSnapshotFn, BiConsumerEx<? super C,? super List<S>> restoreSnapshotFn, ConsumerEx<? super C> destroyFn, int preferredLocalParallelism)` Returns a supplier of processors for a source that the user can create using the `SourceBuilder`.
    `static <C,T,S> ProcessorMetaSupplier` | SourceProcessors.`convenientTimestampedSourceP(FunctionEx<? super Processor.Context,? extends C> createFn, BiConsumerEx<? super C,? super SourceBuilder.TimestampedSourceBuffer<T>> fillBufferFn, EventTimePolicy<? super T> eventTimePolicy, FunctionEx<? super C,? extends S> createSnapshotFn, BiConsumerEx<? super C,? super List<S>> restoreSnapshotFn, ConsumerEx<? super C> destroyFn, int preferredLocalParallelism)` Returns a supplier of processors for a source that the user can create using the `SourceBuilder`.
    `static <C,T,K> ProcessorSupplier` | Processors.`filterUsingContextAsyncP(ContextFactory<C> contextFactory, FunctionEx<T,K> extractKeyFn, BiFunctionEx<? super C,? super T,CompletableFuture<Boolean>> filterAsyncFn)` Asynchronous version of `Processors.filterUsingContextP(com.hazelcast.jet.pipeline.ContextFactory<C>, com.hazelcast.jet.function.BiPredicateEx<? super C, ? super T>)`: the `filterAsyncFn` returns a `CompletableFuture<Boolean>` instead of just a `boolean`.
    `static <T,R> SupplierEx<Processor>` | Processors.`flatMapP(FunctionEx<? super 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,K,S,R> SupplierEx<Processor>` | Processors.`flatMapStatefulP(long ttl, FunctionEx<? super T,? extends K> keyFn, ToLongFunctionEx<? super T> timestampFn, Supplier<? extends S> createFn, TriFunction<? super S,? super K,? super T,? extends Traverser<R>> statefulFlatMapFn, TriFunction<? super S,? super K,? super Long,? extends Traverser<R>> onEvictFn)` Returns a supplier of processors for a vertex that performs a stateful flat-mapping of its input.
    `static <C,T,K,R> ProcessorSupplier` | Processors.`flatMapUsingContextAsyncP(ContextFactory<C> contextFactory, FunctionEx<? super T,? extends K> extractKeyFn, BiFunctionEx<? super C,? super T,CompletableFuture<Traverser<R>>> flatMapAsyncFn)` Asynchronous version of `Processors.flatMapUsingContextP(com.hazelcast.jet.pipeline.ContextFactory<C>, com.hazelcast.jet.function.BiFunctionEx<? super C, ? super T, ? extends com.hazelcast.jet.Traverser<? extends R>>)`: the `flatMapAsyncFn` returns a `CompletableFuture<Traverser<R>>` instead of just a `Traverser<R>`.
    `static <T,R> SupplierEx<Processor>` | Processors.`mapP(FunctionEx<? super T,? extends 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,S,R> SupplierEx<Processor>` | Processors.`mapStatefulP(long ttl, FunctionEx<? super T,? extends K> keyFn, ToLongFunctionEx<? super T> timestampFn, Supplier<? extends S> createFn, TriFunction<? super S,? super K,? super T,? extends R> statefulMapFn, TriFunction<? super S,? super K,? super Long,? extends R> onEvictFn)` Returns a supplier of processors for a vertex that performs a stateful mapping of its input.
    `static <C,T,K,R> ProcessorSupplier` | Processors.`mapUsingContextAsyncP(ContextFactory<C> contextFactory, FunctionEx<T,K> extractKeyFn, BiFunctionEx<? super C,? super T,CompletableFuture<R>> mapAsyncFn)` Asynchronous version of `Processors.mapUsingContextP(com.hazelcast.jet.pipeline.ContextFactory<C>, com.hazelcast.jet.function.BiFunctionEx<? super C, ? super T, ? extends R>)`: the `mapAsyncFn` returns a `CompletableFuture<R>` instead of just `R`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`mergeMapP(String mapName, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends V> toValueFn, BinaryOperatorEx<V> mergeFn)` Returns a supplier of processors for `Sinks.mapWithMerging(String, FunctionEx, FunctionEx, BinaryOperatorEx)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`mergeMapP(String mapName, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends V> toValueFn, BinaryOperatorEx<V> mergeFn)` Returns a supplier of processors for `Sinks.mapWithMerging(String, FunctionEx, FunctionEx, BinaryOperatorEx)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`mergeRemoteMapP(String mapName, ClientConfig clientConfig, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends V> toValueFn, BinaryOperatorEx<V> mergeFn)` Returns a supplier of processors for `Sinks.remoteMapWithMerging(String, ClientConfig, FunctionEx, FunctionEx, BinaryOperatorEx)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`mergeRemoteMapP(String mapName, ClientConfig clientConfig, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends V> toValueFn, BinaryOperatorEx<V> mergeFn)` Returns a supplier of processors for `Sinks.remoteMapWithMerging(String, ClientConfig, FunctionEx, FunctionEx, BinaryOperatorEx)`.
    `static <T> ProcessorMetaSupplier` | DiagnosticProcessors.`peekInputP(FunctionEx<T,? extends CharSequence> toStringFn, PredicateEx<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(FunctionEx<T,? extends CharSequence> toStringFn, PredicateEx<T> shouldLogFn, ProcessorSupplier wrapped)` Same as `peekInput(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `ProcessorSupplier` instead of a meta-supplier.
    `static <T> SupplierEx<Processor>` | DiagnosticProcessors.`peekInputP(FunctionEx<T,? extends CharSequence> toStringFn, PredicateEx<T> shouldLogFn, SupplierEx<Processor> wrapped)` Same as `peekInput(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `SupplierEx` of processors instead of a meta-supplier.
    `static <T> ProcessorMetaSupplier` | DiagnosticProcessors.`peekOutputP(FunctionEx<? super T,? extends CharSequence> toStringFn, PredicateEx<? 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(FunctionEx<? super T,? extends CharSequence> toStringFn, PredicateEx<? super T> shouldLogFn, ProcessorSupplier wrapped)` Same as `peekOutput(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `ProcessorSupplier` instead of a meta-supplier.
    `static <T> SupplierEx<Processor>` | DiagnosticProcessors.`peekOutputP(FunctionEx<? super T,? extends CharSequence> toStringFn, PredicateEx<? super T> shouldLogFn, SupplierEx<Processor> wrapped)` Same as `peekOutput(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `SupplierEx` of processors instead of a meta-supplier.
    `static <K,V> ProcessorMetaSupplier` | DiagnosticProcessors.`peekSnapshotP(FunctionEx<? super Map.Entry<K,V>,? extends CharSequence> toStringFn, PredicateEx<? 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(FunctionEx<? super Map.Entry<K,V>,? extends CharSequence> toStringFn, PredicateEx<? super Map.Entry<K,V>> shouldLogFn, ProcessorSupplier wrapped)` Same as `peekSnapshot(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `ProcessorSupplier` instead of a meta-supplier.
    `static <K,V> SupplierEx<Processor>` | DiagnosticProcessors.`peekSnapshotP(FunctionEx<? super Map.Entry<K,V>,? extends CharSequence> toStringFn, PredicateEx<? super Map.Entry<K,V>> shouldLogFn, SupplierEx<Processor> wrapped)` Same as `peekSnapshot(toStringFn, shouldLogFn, metaSupplier)`, but accepts a `SupplierEx` of processors instead of a meta-supplier.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`readJdbcP(String connectionURL, String query, FunctionEx<? super ResultSet,? extends T> mapOutputFn)` Returns a supplier of processors for `Sources.jdbc(String, String, FunctionEx)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`readJdbcP(SupplierEx<? extends Connection> newConnectionFn, ToResultSetFunction resultSetFn, FunctionEx<? super ResultSet,? extends T> mapOutputFn)` Returns a supplier of processors for `Sources.jdbc( SupplierEx, ToResultSetFunction, FunctionEx)`.
    `static <T,K,V> ProcessorMetaSupplier` | SourceProcessors.`readMapP(String mapName, Predicate<? super K,? super V> predicate, FunctionEx<? super Map.Entry<K,V>,? extends T> projection)` Returns a supplier of processors for `Sources.map(String, Predicate, FunctionEx)`.
    `static <T,K,V> ProcessorSupplier` | SourceProcessors.`readRemoteMapP(String mapName, ClientConfig clientConfig, Predicate<? super K,? super V> predicate, FunctionEx<? super Map.Entry<K,V>,? extends T> projectionFn)` Returns a supplier of processors for `Sources.remoteMap(String, ClientConfig, Predicate, FunctionEx)`.
    `static <T,K,V> ProcessorMetaSupplier` | SourceProcessors.`streamCacheP(String cacheName, PredicateEx<? super EventJournalCacheEvent<K,V>> predicateFn, FunctionEx<? super EventJournalCacheEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos, EventTimePolicy<? super T> eventTimePolicy)` Returns a supplier of processors for `Sources.cacheJournal(String, PredicateEx, FunctionEx, JournalInitialPosition)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsQueueP(SupplierEx<? extends javax.jms.Connection> newConnectionFn, FunctionEx<? super javax.jms.Connection,? extends javax.jms.Session> newSessionFn, FunctionEx<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, ConsumerEx<? super javax.jms.Session> flushFn, FunctionEx<? super javax.jms.Message,? extends T> projectionFn, EventTimePolicy<? super T> eventTimePolicy)` Returns a supplier of processors for `Sources.jmsQueueBuilder(com.hazelcast.jet.function.SupplierEx<? extends javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsQueueP(SupplierEx<? extends javax.jms.Connection> newConnectionFn, FunctionEx<? super javax.jms.Connection,? extends javax.jms.Session> newSessionFn, FunctionEx<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, ConsumerEx<? super javax.jms.Session> flushFn, FunctionEx<? super javax.jms.Message,? extends T> projectionFn, EventTimePolicy<? super T> eventTimePolicy)` Returns a supplier of processors for `Sources.jmsQueueBuilder(com.hazelcast.jet.function.SupplierEx<? extends javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsQueueP(SupplierEx<? extends javax.jms.Connection> newConnectionFn, FunctionEx<? super javax.jms.Connection,? extends javax.jms.Session> newSessionFn, FunctionEx<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, ConsumerEx<? super javax.jms.Session> flushFn, FunctionEx<? super javax.jms.Message,? extends T> projectionFn, EventTimePolicy<? super T> eventTimePolicy)` Returns a supplier of processors for `Sources.jmsQueueBuilder(com.hazelcast.jet.function.SupplierEx<? extends javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsTopicP(SupplierEx<? extends javax.jms.Connection> newConnectionFn, FunctionEx<? super javax.jms.Connection,? extends javax.jms.Session> newSessionFn, FunctionEx<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, ConsumerEx<? super javax.jms.Session> flushFn, FunctionEx<? super javax.jms.Message,? extends T> projectionFn, EventTimePolicy<? super T> eventTimePolicy)` Returns a supplier of processors for `Sources.jmsTopicBuilder(com.hazelcast.jet.function.SupplierEx<? extends javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsTopicP(SupplierEx<? extends javax.jms.Connection> newConnectionFn, FunctionEx<? super javax.jms.Connection,? extends javax.jms.Session> newSessionFn, FunctionEx<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, ConsumerEx<? super javax.jms.Session> flushFn, FunctionEx<? super javax.jms.Message,? extends T> projectionFn, EventTimePolicy<? super T> eventTimePolicy)` Returns a supplier of processors for `Sources.jmsTopicBuilder(com.hazelcast.jet.function.SupplierEx<? extends javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SourceProcessors.`streamJmsTopicP(SupplierEx<? extends javax.jms.Connection> newConnectionFn, FunctionEx<? super javax.jms.Connection,? extends javax.jms.Session> newSessionFn, FunctionEx<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn, ConsumerEx<? super javax.jms.Session> flushFn, FunctionEx<? super javax.jms.Message,? extends T> projectionFn, EventTimePolicy<? super T> eventTimePolicy)` Returns a supplier of processors for `Sources.jmsTopicBuilder(com.hazelcast.jet.function.SupplierEx<? extends javax.jms.ConnectionFactory>)`.
    `static <T,K,V> ProcessorMetaSupplier` | SourceProcessors.`streamMapP(String mapName, PredicateEx<? super EventJournalMapEvent<K,V>> predicateFn, FunctionEx<? super EventJournalMapEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos, EventTimePolicy<? super T> eventTimePolicy)` Returns a supplier of processors for `Sources.mapJournal(String, PredicateEx, FunctionEx, JournalInitialPosition)`.
    `static <T,K,V> ProcessorMetaSupplier` | SourceProcessors.`streamRemoteCacheP(String cacheName, ClientConfig clientConfig, PredicateEx<? super EventJournalCacheEvent<K,V>> predicateFn, FunctionEx<? super EventJournalCacheEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos, EventTimePolicy<? super T> eventTimePolicy)` Returns a supplier of processors for `Sources.remoteCacheJournal(String, ClientConfig, PredicateEx, FunctionEx, JournalInitialPosition)`.
    `static <T,K,V> ProcessorMetaSupplier` | SourceProcessors.`streamRemoteMapP(String mapName, ClientConfig clientConfig, PredicateEx<? super EventJournalMapEvent<K,V>> predicateFn, FunctionEx<? super EventJournalMapEvent<K,V>,? extends T> projectionFn, JournalInitialPosition initialPos, EventTimePolicy<? super T> eventTimePolicy)` Returns a supplier of processors for `Sources.remoteMapJournal(String, ClientConfig, PredicateEx, FunctionEx, JournalInitialPosition)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateMapP(String mapName, FunctionEx<? super T,? extends K> toKeyFn, BiFunctionEx<? super V,? super T,? extends V> updateFn)` Returns a supplier of processors for `Sinks.mapWithEntryProcessor(String, FunctionEx, FunctionEx)` .
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateMapP(String mapName, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a supplier of processors for `Sinks.mapWithEntryProcessor(String, FunctionEx, FunctionEx)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateMapP(String mapName, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a supplier of processors for `Sinks.mapWithEntryProcessor(String, FunctionEx, FunctionEx)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateRemoteMapP(String mapName, ClientConfig clientConfig, FunctionEx<? super T,? extends K> toKeyFn, BiFunctionEx<? super V,? super T,? extends V> updateFn)` Returns a supplier of processors for `Sinks.remoteMapWithUpdating(String, ClientConfig, FunctionEx , BiFunctionEx)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateRemoteMapP(String mapName, ClientConfig clientConfig, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a supplier of processors for `Sinks.remoteMapWithEntryProcessor(String, ClientConfig, FunctionEx, FunctionEx)`.
    `static <T,K,V> ProcessorMetaSupplier` | SinkProcessors.`updateRemoteMapP(String mapName, ClientConfig clientConfig, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a supplier of processors for `Sinks.remoteMapWithEntryProcessor(String, ClientConfig, FunctionEx, FunctionEx)`.
    `static <W,T> SupplierEx<Processor>` | SinkProcessors.`writeBufferedP(FunctionEx<? super Processor.Context,? extends W> createFn, BiConsumerEx<? super W,? super T> onReceiveFn, ConsumerEx<? super W> flushFn)` Shortcut for `SinkProcessors.writeBufferedP(FunctionEx, BiConsumerEx, ConsumerEx, ConsumerEx)` with a no-op `destroyFn`.
    `static <W,T> SupplierEx<Processor>` | SinkProcessors.`writeBufferedP(FunctionEx<? super Processor.Context,? extends W> createFn, BiConsumerEx<? super W,? super T> onReceiveFn, ConsumerEx<? super W> flushFn, ConsumerEx<? 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, FunctionEx<? 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(SupplierEx<? extends javax.jms.Connection> newConnectionFn, FunctionEx<? super javax.jms.Connection,? extends javax.jms.Session> newSessionFn, BiFunctionEx<? super javax.jms.Session,? super T,? extends javax.jms.Message> messageFn, BiConsumerEx<? super javax.jms.MessageProducer,? super javax.jms.Message> sendFn, ConsumerEx<? super javax.jms.Session> flushFn, String name)` Returns a supplier of processors for `Sinks.jmsQueueBuilder(com.hazelcast.jet.function.SupplierEx<javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | SinkProcessors.`writeJmsTopicP(SupplierEx<? extends javax.jms.Connection> newConnectionFn, FunctionEx<? super javax.jms.Connection,? extends javax.jms.Session> newSessionFn, BiFunctionEx<? super javax.jms.Session,? super T,? extends javax.jms.Message> messageFn, BiConsumerEx<? super javax.jms.MessageProducer,? super javax.jms.Message> sendFn, ConsumerEx<? super javax.jms.Session> flushFn, String name)` Returns a supplier of processors for `Sinks.jmsTopicBuilder(com.hazelcast.jet.function.SupplierEx<javax.jms.ConnectionFactory>)`.
    `static <T> ProcessorMetaSupplier` | DiagnosticProcessors.`writeLoggerP(FunctionEx<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, FunctionEx<? 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 FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `static <K,A> SupplierEx<Processor>` | Processors.`accumulateByFrameP(List<FunctionEx<?,? extends K>> keyFns, List<ToLongFunctionEx<?>> 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> SupplierEx<Processor>` | Processors.`accumulateByKeyP(List<FunctionEx<?,? 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> SupplierEx<Processor>` | Processors.`aggregateByKeyP(List<FunctionEx<?,? extends K>> keyFns, AggregateOperation<A,R> aggrOp, BiFunctionEx<? 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> SupplierEx<Processor>` | Processors.`aggregateToSessionWindowP(long sessionTimeout, long earlyResultsPeriod, List<ToLongFunctionEx<?>> timestampFns, List<FunctionEx<?,? extends K>> keyFns, AggregateOperation<A,? extends R> aggrOp, KeyedWindowResultFunction<? super K,? super R,? extends OUT> mapToOutputFn)` Returns a supplier of processors for a vertex that aggregates events into session windows.
    `static <K,A,R,OUT> SupplierEx<Processor>` | Processors.`aggregateToSlidingWindowP(List<FunctionEx<?,? extends K>> keyFns, List<ToLongFunctionEx<?>> timestampFns, TimestampKind timestampKind, SlidingWindowPolicy winPolicy, long earlyResultsPeriod, AggregateOperation<A,? extends R> aggrOp, KeyedWindowResultFunction<? super K,? super R,? extends 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 FunctionEx in com.hazelcast.jet.function

    Methods in com.hazelcast.jet.function that return FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `default <V> FunctionEx<T,V>` | FunctionEx.`andThen(FunctionEx<? super R,? extends V> after)` `Serializable` variant of `java.util.function.Function#andThen(Function)`.
    `default <V> FunctionEx<V,R>` | FunctionEx.`compose(FunctionEx<? super V,? extends T> before)` `Serializable` variant of `java.util.function.Function#compose(Function)`.
    `static <K> FunctionEx<Map.Entry<K,?>,K>` | Functions.`entryKey()` Returns a function that extracts the key of a `Map.Entry`.
    `static <V> FunctionEx<Map.Entry<?,V>,V>` | Functions.`entryValue()` Returns a function that extracts the value of a `Map.Entry`.
    `static <T> FunctionEx<T,T>` | FunctionEx.`identity()` `Serializable` variant of `java.util.function.Function#identity()`.
    `static <T> FunctionEx<T,T>` | Functions.`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 FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `default <V> FunctionEx<T,V>` | FunctionEx.`andThen(FunctionEx<? super R,? extends V> after)` `Serializable` variant of `java.util.function.Function#andThen(Function)`.
    `default <V> BiFunctionEx<T,U,V>` | BiFunctionEx.`andThen(FunctionEx<? super R,? extends V> after)` `Serializable` variant of `java.util.function.BiFunction#andThen(Function)`.
    `static <T,U extends Comparable<? super U>> ComparatorEx<T>` | ComparatorEx.`comparing(FunctionEx<? super T,? extends U> toKeyFn)` `Serializable` variant of `java.util.Comparator#comparing(Function)`.
    `static <T,U> ComparatorEx<T>` | ComparatorEx.`comparing(FunctionEx<? super T,? extends U> toKeyFn, ComparatorEx<? super U> keyComparator)` `Serializable` variant of `java.util.Comparator#comparing(Function, Comparator)`.
    `default <V> FunctionEx<V,R>` | FunctionEx.`compose(FunctionEx<? super V,? extends T> before)` `Serializable` variant of `java.util.function.Function#compose(Function)`.
    `default <U extends Comparable<? super U>> ComparatorEx<T>` | ComparatorEx.`thenComparing(FunctionEx<? super T,? extends U> toKeyFn)` `Serializable` variant of `java.util.Comparator#thenComparing(Function)`.
    `default <U> ComparatorEx<T>` | ComparatorEx.`thenComparing(FunctionEx<? super T,? extends U> toKeyFn, ComparatorEx<? super U> keyComparator)` `Serializable` variant of `java.util.Comparator#thenComparing(Function, Comparator)`.

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

    Methods in com.hazelcast.jet.hadoop with parameters of type FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `static <E,K,V> Sink<E>` | HdfsSinks.`hdfs(org.apache.hadoop.mapred.JobConf jobConf, FunctionEx<? super E,K> extractKeyF, FunctionEx<? 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, FunctionEx<? super E,K> extractKeyF, FunctionEx<? 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, FunctionEx<? super E,K> extractKeyFn, FunctionEx<? super E,V> extractValueFn)` Returns a supplier of processors for `HdfsSinks.hdfs(JobConf, FunctionEx, FunctionEx)`.
    `static <E,K,V> ProcessorMetaSupplier` | HdfsProcessors.`writeHdfsP(org.apache.hadoop.mapred.JobConf jobConf, FunctionEx<? super E,K> extractKeyFn, FunctionEx<? super E,V> extractValueFn)` Returns a supplier of processors for `HdfsSinks.hdfs(JobConf, FunctionEx, FunctionEx)`.

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

    Methods in com.hazelcast.jet.kafka with parameters of type FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `static <E,K,V> Sink<E>` | KafkaSinks.`kafka(Properties properties, FunctionEx<? 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, FunctionEx<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, FunctionEx<? super E,K> extractKeyFn, FunctionEx<? super E,V> extractValueFn)` Convenience for `KafkaSinks.kafka(Properties, FunctionEx)` 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, FunctionEx<? super E,K> extractKeyFn, FunctionEx<? super E,V> extractValueFn)` Convenience for `KafkaSinks.kafka(Properties, FunctionEx)` 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, FunctionEx<? super org.apache.kafka.clients.consumer.ConsumerRecord<K,V>,? extends T> projectionFn, EventTimePolicy<? super T> eventTimePolicy, String... topics)` Returns a supplier of processors for `KafkaSources.kafka(Properties, FunctionEx, String...)`.
    `static <T,K,V> ProcessorMetaSupplier` | KafkaProcessors.`writeKafkaP(Properties properties, FunctionEx<? super T,? extends org.apache.kafka.clients.producer.ProducerRecord<K,V>> toRecordFn)` Returns a supplier of processors for `KafkaSinks.kafka(Properties, FunctionEx)`.
    `static <T,K,V> ProcessorMetaSupplier` | KafkaProcessors.`writeKafkaP(Properties properties, String topic, FunctionEx<? super T,? extends K> extractKeyFn, FunctionEx<? super T,? extends V> extractValueFn)` Returns a supplier of processors for `KafkaSinks.kafka(Properties, String, FunctionEx, FunctionEx)`.
    `static <T,K,V> ProcessorMetaSupplier` | KafkaProcessors.`writeKafkaP(Properties properties, String topic, FunctionEx<? super T,? extends K> extractKeyFn, FunctionEx<? super T,? extends V> extractValueFn)` Returns a supplier of processors for `KafkaSinks.kafka(Properties, String, FunctionEx, FunctionEx)`.

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

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

    Methods in com.hazelcast.jet.pipeline with parameters of type FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `default <R> BatchStage<R>` | BatchStage.`apply(FunctionEx<? super BatchStage<T>,? extends BatchStage<R>> transformFn)` Transforms `this` stage using the provided `transformFn` and returns the transformed stage.
    `default <R> StreamStage<R>` | StreamStage.`apply(FunctionEx<? super StreamStage<T>,? extends StreamStage<R>> transformFn)` Transforms `this` stage using the provided `transformFn` and returns the transformed stage.
    `static <C> SourceBuilder.Batch<Void>` | SourceBuilder.`batch(String name, FunctionEx<? super Processor.Context,? extends C> createFn)` Returns a fluent-API builder with which you can create a batch source for a Jet pipeline.
    `<R> BatchStage<R>` | AggregateBuilder.`build(FunctionEx<? 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(FunctionEx<? 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, PredicateEx<? super EventJournalCacheEvent<K,V>> predicateFn, FunctionEx<? 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(FunctionEx<? super javax.jms.ConnectionFactory,? extends javax.jms.Connection> connectionFn)` Sets the function which creates the connection from connection factory.
    `JmsSinkBuilder<T>` | JmsSinkBuilder.`connectionFn(FunctionEx<javax.jms.ConnectionFactory,javax.jms.Connection> connectionFn)` Sets the function which creates the connection from connection factory.
    `JmsSourceBuilder` | JmsSourceBuilder.`consumerFn(FunctionEx<? super javax.jms.Session,? extends javax.jms.MessageConsumer> consumerFn)` Sets the function which creates the message consumer from session.
    `<S> SourceBuilder.FaultTolerant<SourceBuilder.Stream<T>,S>` | SourceBuilder.Stream.`createSnapshotFn(FunctionEx<? super C,? extends S> createSnapshotFn)`
    `<S> SourceBuilder.FaultTolerant<SourceBuilder.TimestampedStream<T>,S>` | SourceBuilder.TimestampedStream.`createSnapshotFn(FunctionEx<? super C,? extends S> createSnapshotFn)`
    `<R> StreamStage<R>` | StreamStage.`flatMap(FunctionEx<? super T,? extends Traverser<? extends R>> flatMapFn)`
    `<R> GeneralStage<R>` | GeneralStage.`flatMap(FunctionEx<? 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(FunctionEx<? super T,? extends Traverser<? extends R>> flatMapFn)`
    `<K> StreamStageWithKey<T,K>` | StreamStage.`groupingKey(FunctionEx<? super T,? extends K> keyFn)`
    `<K> StageWithKeyAndWindow<T,K>` | StageWithWindow.`groupingKey(FunctionEx<? 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(FunctionEx<? 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(FunctionEx<? 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(String connectionURL, String query, FunctionEx<? super ResultSet,? extends T> createOutputFn)` Convenience for `Sources.jdbc(SupplierEx, ToResultSetFunction, FunctionEx)`.
    `static <T> BatchSource<T>` | Sources.`jdbc(SupplierEx<? extends Connection> newConnectionFn, ToResultSetFunction resultSetFn, FunctionEx<? super ResultSet,? extends T> createOutputFn)` Returns a source which connects to the specified database using the given `newConnectionFn`, queries the database and creates a result set using the the given `resultSetFn`.
    `static <K,T0,T1_OUT> JoinClause<K,T0,Map.Entry<K,T1_OUT>,T1_OUT>` | JoinClause.`joinMapEntries(FunctionEx<? 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(FunctionEx<? 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(FunctionEx<? super T,? extends R> mapFn)`
    `<R> GeneralStage<R>` | GeneralStage.`map(FunctionEx<? 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.
    `<R> BatchStage<R>` | BatchStage.`map(FunctionEx<? 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, FunctionEx<? super Map.Entry<K,V>,? extends T> projection)` Convenience for `Sources.map(IMap, Predicate, Projection)` which uses a `FunctionEx` as the projection function.
    `static <T,K,V> BatchSource<T>` | Sources.`map(String mapName, Predicate<? super K,? super V> predicate, FunctionEx<? super Map.Entry<K,V>,? extends T> projection)` Convenience for `Sources.map(String, Predicate, Projection)` which uses a `FunctionEx` as the projection function.
    `static <T,K,V> StreamSource<T>` | Sources.`mapJournal(IMap<? extends K,? extends V> map, PredicateEx<? super EventJournalMapEvent<K,V>> predicateFn, FunctionEx<? 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, PredicateEx<? super EventJournalMapEvent<K,V>> predicateFn, FunctionEx<? 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.
    `default <K,V,R> StreamStage<R>` | StreamStage.`mapUsingIMap(IMap<K,V> iMap, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)`
    `default <K,V,R> GeneralStage<R>` | GeneralStage.`mapUsingIMap(IMap<K,V> iMap, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)` Attaches a mapping stage where for each item a lookup in the supplied `IMap` is performed and the result of the lookup is merged with the item and emitted.
    `default <K,V,R> BatchStage<R>` | BatchStage.`mapUsingIMap(IMap<K,V> iMap, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)`
    `default <K,V,R> StreamStage<R>` | StreamStage.`mapUsingIMap(String mapName, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)`
    `default <K,V,R> GeneralStage<R>` | GeneralStage.`mapUsingIMap(String mapName, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)` Attaches a mapping stage where for each item a lookup in the `IMap` with the supplied name is performed and the result of the lookup is merged with the item and emitted.
    `default <K,V,R> BatchStage<R>` | BatchStage.`mapUsingIMap(String mapName, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)`
    `default <K,V,R> StreamStage<R>` | StreamStage.`mapUsingReplicatedMap(ReplicatedMap<K,V> replicatedMap, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)`
    `default <K,V,R> GeneralStage<R>` | GeneralStage.`mapUsingReplicatedMap(ReplicatedMap<K,V> replicatedMap, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)` Attaches a mapping stage where for each item a lookup in the supplied `ReplicatedMap` is performed and the result of the lookup is merged with the item and emitted.
    `default <K,V,R> BatchStage<R>` | BatchStage.`mapUsingReplicatedMap(ReplicatedMap<K,V> replicatedMap, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)`
    `default <K,V,R> StreamStage<R>` | StreamStage.`mapUsingReplicatedMap(String mapName, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)`
    `default <K,V,R> GeneralStage<R>` | GeneralStage.`mapUsingReplicatedMap(String mapName, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)` Attaches a mapping stage where for each item a lookup in the `ReplicatedMap` with the supplied name is performed and the result of the lookup is merged with the item and emitted.
    `default <K,V,R> BatchStage<R>` | BatchStage.`mapUsingReplicatedMap(String mapName, FunctionEx<? super T,? extends K> lookupKeyFn, BiFunctionEx<? super T,? super V,? extends R> mapFn)`
    `static <T,K,V> Sink<T>` | Sinks.`mapWithEntryProcessor(IMap<? super K,? super V> map, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? 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, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? 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, FunctionEx<? super E,? extends K> toKeyFn, FunctionEx<? 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, FunctionEx<? super E,? extends K> toKeyFn, FunctionEx<? 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, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends V> toValueFn, BinaryOperatorEx<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, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends V> toValueFn, BinaryOperatorEx<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, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends V> toValueFn, BinaryOperatorEx<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, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends V> toValueFn, BinaryOperatorEx<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, FunctionEx<? super T,? extends K> toKeyFn, BiFunctionEx<? 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, FunctionEx<? super T,? extends K> toKeyFn, BiFunctionEx<? 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(FunctionEx<? super T0,? extends K> leftKeyFn, FunctionEx<? 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(FunctionEx<? super T0,? extends K> leftKeyFn, FunctionEx<? 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(FunctionEx<? super T,? extends CharSequence> toStringFn)`
    `default GeneralStage<T>` | GeneralStage.`peek(FunctionEx<? super T,? extends CharSequence> toStringFn)` Adds a peeking layer to this compute stage which logs its output.
    `default BatchStage<T>` | BatchStage.`peek(FunctionEx<? super T,? extends CharSequence> toStringFn)`
    `StreamStage<T>` | StreamStage.`peek(PredicateEx<? super T> shouldLogFn, FunctionEx<? super T,? extends CharSequence> toStringFn)`
    `GeneralStage<T>` | GeneralStage.`peek(PredicateEx<? super T> shouldLogFn, FunctionEx<? 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(PredicateEx<? super T> shouldLogFn, FunctionEx<? super T,? extends CharSequence> toStringFn)`
    `<T1_NEW_OUT> JoinClause<K,T0,T1,T1_NEW_OUT>` | JoinClause.`projecting(FunctionEx<? 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, PredicateEx<? super EventJournalCacheEvent<K,V>> predicateFn, FunctionEx<? 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, FunctionEx<? super Map.Entry<K,V>,? extends T> projection)` Convenience for `Sources.remoteMap(String, ClientConfig, Predicate, Projection)` which use a `FunctionEx` as the projection function.
    `static <T,K,V> StreamSource<T>` | Sources.`remoteMapJournal(String mapName, ClientConfig clientConfig, PredicateEx<? super EventJournalMapEvent<K,V>> predicateFn, FunctionEx<? 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, FunctionEx<? super E,? extends K> toKeyFn, FunctionEx<? super E,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a sink equivalent to `Sinks.mapWithEntryProcessor(java.lang.String, com.hazelcast.jet.function.FunctionEx<? super E, ? extends K>, com.hazelcast.jet.function.FunctionEx<? 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, FunctionEx<? super E,? extends K> toKeyFn, FunctionEx<? super E,? extends EntryProcessor<K,V>> toEntryProcessorFn)` Returns a sink equivalent to `Sinks.mapWithEntryProcessor(java.lang.String, com.hazelcast.jet.function.FunctionEx<? super E, ? extends K>, com.hazelcast.jet.function.FunctionEx<? 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, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends V> toValueFn, BinaryOperatorEx<V> mergeFn)` Returns a sink equivalent to `Sinks.mapWithMerging(String, BinaryOperatorEx)`, 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, FunctionEx<? super T,? extends K> toKeyFn, FunctionEx<? super T,? extends V> toValueFn, BinaryOperatorEx<V> mergeFn)` Returns a sink equivalent to `Sinks.mapWithMerging(String, BinaryOperatorEx)`, 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, FunctionEx<? super T,? extends K> toKeyFn, BiFunctionEx<? super V,? super T,? extends V> updateFn)` Returns a sink equivalent to `Sinks.mapWithUpdating(java.lang.String, com.hazelcast.jet.function.FunctionEx<? super T, ? extends K>, com.hazelcast.jet.function.BiFunctionEx<? super V, ? super T, ? extends V>)`, but for a map in a remote Hazelcast cluster identified by the supplied `ClientConfig`.
    `JmsSourceBuilder` | JmsSourceBuilder.`sessionFn(FunctionEx<? super javax.jms.Connection,? extends javax.jms.Session> sessionFn)` Sets the function which creates the session from connection.
    `JmsSinkBuilder<T>` | JmsSinkBuilder.`sessionFn(FunctionEx<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, FunctionEx<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, FunctionEx<? super T,? extends String> toStringFn)` Convenience for `Sinks.socket(String, int, FunctionEx, Charset)` with UTF-8 as the charset.
    `static <T> Sink<T>` | Sinks.`socket(String host, int port, FunctionEx<? 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 <C> SourceBuilder.Stream<Void>` | SourceBuilder.`stream(String name, FunctionEx<? super Processor.Context,? extends C> createFn)` Returns a fluent-API builder with which you can create an unbounded stream source for a Jet pipeline.
    `static <C> SourceBuilder.TimestampedStream<Void>` | SourceBuilder.`timestampedStream(String name, FunctionEx<? super Processor.Context,? extends C> createFn)` Returns a fluent-API builder with which you can create an unbounded stream source for a Jet pipeline.
    `FileSinkBuilder<T>` | FileSinkBuilder.`toStringFn(FunctionEx<? super T,String> toStringFn)` Sets the function which converts the item to its string representation.
    `static <C> ContextFactory<C>` | ContextFactory.`withCreateFn(FunctionEx<JetInstance,? extends C> createContextFn)` Creates a new `ContextFactory` with the given create-function.

  - ### Uses of FunctionEx in com.hazelcast.jet.pipeline.test

    Methods in com.hazelcast.jet.pipeline.test that return FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `static <T> FunctionEx<BatchStage<T>,BatchStage<T>>` | Assertions.`assertAnyOrder(Collection<? extends T> expected)` Asserts that the previous stage emitted the expected items in any order, but nothing else.
    `static <T> FunctionEx<BatchStage<T>,BatchStage<T>>` | Assertions.`assertAnyOrder(String message, Collection<? extends T> expected)` Asserts that the previous stage emitted the expected items in any order, but nothing else.
    `static <T> FunctionEx<BatchStage<T>,BatchStage<T>>` | Assertions.`assertCollected(ConsumerEx<? super List<T>> assertFn)` Collects all the received items in a list and once the upstream stage is completed it executes the assertion supplied by `assertFn`.
    `static <T> FunctionEx<StreamStage<T>,StreamStage<T>>` | Assertions.`assertCollectedEventually(int timeout, ConsumerEx<? super List<T>> assertFn)` Collects all the received items into a list and runs the `assertFn` every time a new item is received.
    `static <T> FunctionEx<BatchStage<T>,BatchStage<T>>` | Assertions.`assertContains(Collection<? extends T> expected)` Asserts that the previous stage emitted all of the given items in any order.
    `static <T> FunctionEx<BatchStage<T>,BatchStage<T>>` | Assertions.`assertContains(String message, Collection<? extends T> expected)` Asserts that the previous stage emitted all of the given items in any order.
    `static <T> FunctionEx<BatchStage<T>,BatchStage<T>>` | Assertions.`assertOrdered(Collection<? extends T> expected)` Asserts that the previous stage emitted the exact sequence of expected items and nothing else.
    `static <T> FunctionEx<BatchStage<T>,BatchStage<T>>` | Assertions.`assertOrdered(String message, Collection<? extends T> expected)` Asserts that the previous stage emitted the exact sequence of expected items and nothing else.

  - ### Uses of FunctionEx in com.hazelcast.jet.s3

    Methods in com.hazelcast.jet.s3 with parameters of type FunctionEx
    Modifier and Type | Method and Description
    --- | ---
    `static <T> Sink<? super T>` | S3Sinks.`s3(String bucketName, String prefix, Charset charset, SupplierEx<? extends software.amazon.awssdk.services.s3.S3Client> clientSupplier, FunctionEx<? super T,String> toStringFn)` Creates an AWS S3 `Sink` which writes items to files into the given bucket.

Copyright © 2019. All rights reserved.