## Uses of Interface
com.hazelcast.jet.Traverser

- Packages that use Traverser
  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.pipeline | The Pipeline API is Jet's high-level API to build and execute distributed computation jobs.

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

    Methods in com.hazelcast.jet that return Traverser
    Modifier and Type | Method and Description
    --- | ---
    `default Traverser<T>` | Traverser.`append(T item)` Returns a traverser that will return all the items of this traverser, plus an additional item once this one returns `null`.
    `default Traverser<T>` | Traverser.`dropWhile(Predicate<? super T> predicate)` Returns a traverser that will emit a suffix of the original traverser, starting from the item for which the predicate fails (inclusive).
    `static <T> Traverser<T>` | Traversers.`empty()` Returns a traverser that always returns `null`.
    `default Traverser<T>` | Traverser.`filter(Predicate<? super T> filterFn)` Returns a traverser that will emit the same items as this traverser, but only those that pass the given predicate.
    `default <R> Traverser<R>` | Traverser.`flatMap(Function<? super T,? extends Traverser<? extends R>> flatMapFn)` Returns a traverser that will apply the given mapping function to each item retrieved from this traverser and emit all the items from the resulting traversers, which must be null-terminated.
    `static <T> Traverser<T>` | Traversers.`lazy(Supplier<Traverser<T>> supplierOfTraverser)` Flattens a supplier of traverser into a lazy-initialized traverser.
    `default <R> Traverser<R>` | Traverser.`map(Function<? super T,? extends R> mapFn)` Returns a traverser that will emit the results of applying `mapFn` to this traverser's items.
    `default Traverser<T>` | Traverser.`onFirstNull(Runnable action)` Returns a traverser that will emit the same items as this traverser and additionally run the supplied action the first time this traverser returns `null`.
    `default Traverser<T>` | Traverser.`peek(Consumer<? super T> action)` Returns a traverser that will emit the same items as this traverser, additionally passing each (non-null) item to the supplied consumer.
    `default Traverser<T>` | Traverser.`prepend(T item)` Returns a traverser which prepends an additional item in front of all the items of this traverser.
    `static <T> Traverser<T>` | Traversers.`singleton(T item)` Returns a traverser over the given single item.
    `default Traverser<T>` | Traverser.`takeWhile(Predicate<? super T> predicate)` Returns a traverser that will emit a prefix of the original traverser, up to the item for which the predicate fails (exclusive).
    `static <T> Traverser<T>` | Traversers.`traverseArray(T[] array)` Returns a traverser over the given array.
    `static <T> Traverser<T>` | Traversers.`traverseEnumeration(Enumeration<T> enumeration)` Returns an adapter from `Enumeration` to `Traverser`.
    `static <T> Traverser<T>` | Traversers.`traverseItems(T... items)` Returns a traverser over the supplied arguments (or item array).
    `static <T> Traverser<T>` | Traversers.`traverseIterable(Iterable<? extends T> iterable)` Returns a traverser over the given iterable.
    `static <T> Traverser<T>` | Traversers.`traverseIterator(Iterator<? extends T> iterator)` Returns an adapter from `Iterator` to `Traverser`.
    `static <T> Traverser<T>` | Traversers.`traverseIterator(Iterator<? extends T> iterator, boolean ignoreNulls)` Returns an adapter from `Iterator` to `Traverser`.
    `static <T> Traverser<T>` | Traversers.`traverseSpliterator(Spliterator<T> spliterator)` Returns an adapter from `Spliterator` to `Traverser`.
    `static <T> Traverser<T>` | Traversers.`traverseStream(Stream<T> stream)` Returns a traverser over the given stream.

    Method parameters in com.hazelcast.jet with type arguments of type Traverser
    Modifier and Type | Method and Description
    --- | ---
    `default <R> Traverser<R>` | Traverser.`flatMap(Function<? super T,? extends Traverser<? extends R>> flatMapFn)` Returns a traverser that will apply the given mapping function to each item retrieved from this traverser and emit all the items from the resulting traversers, which must be null-terminated.
    `static <T> Traverser<T>` | Traversers.`lazy(Supplier<Traverser<T>> supplierOfTraverser)` Flattens a supplier of traverser into a lazy-initialized traverser.

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

    Method parameters in com.hazelcast.jet.aggregate with type arguments of type Traverser
    Modifier and Type | Method and Description
    --- | ---
    `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.

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

    Classes in com.hazelcast.jet.core that implement Traverser
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AppendableTraverser<T>` A traverser with an internal `ArrayDeque`.
    `class` | `ResettableSingletonTraverser<T>` Traverses over a single item which can be set from the outside, by using this traverser as a `Consumer<T>`.

    Methods in com.hazelcast.jet.core that return Traverser
    Modifier and Type | Method and Description
    --- | ---
    `Traverser<Object>` | EventTimeMapper.`flatMapEvent(T event, int partitionIndex, long nativeEventTime)` Flat-maps the given `event` by (possibly) prepending it with a watermark.
    `Traverser<Object>` | EventTimeMapper.`flatMapIdle()` Call this method when there is no event coming.
    `Traverser<Object>` | EventTimeMapper.`removePartition(int partitionIndex)` Removes a partition that will no longer have events.

    Methods in com.hazelcast.jet.core with parameters of type Traverser
    Modifier and Type | Method and Description
    --- | ---
    `protected <E> boolean` | AbstractProcessor.`emitFromTraverser(int[] ordinals, Traverser<E> traverser)` Obtains items from the traverser and offers them to the outbox's buckets identified in the supplied array.
    `protected <E> boolean` | AbstractProcessor.`emitFromTraverser(int ordinal, Traverser<E> traverser)` Obtains items from the traverser and offers them to the outbox's buckets identified in the supplied array.
    `protected boolean` | AbstractProcessor.`emitFromTraverser(Traverser<?> traverser)` Convenience for `AbstractProcessor.emitFromTraverser(int, Traverser)` which emits to all ordinals.
    `protected <T extends Map.Entry<?,?>> boolean` | AbstractProcessor.`emitFromTraverserToSnapshot(Traverser<T> traverser)` Obtains items from the traverser and offers them to the snapshot bucket of the outbox.

    Method parameters in com.hazelcast.jet.core with type arguments of type Traverser
    Modifier and Type | Method and Description
    --- | ---
    `protected <T,R> AbstractProcessor.FlatMapper<T,R>` | AbstractProcessor.`flatMapper(Function<? super T,? extends Traverser<? extends R>> mapper)` Factory of `AbstractProcessor.FlatMapper`.
    `protected <T,R> AbstractProcessor.FlatMapper<T,R>` | AbstractProcessor.`flatMapper(int[] ordinals, Function<? super T,? extends Traverser<? extends R>> mapper)` Factory of `AbstractProcessor.FlatMapper`.
    `protected <T,R> AbstractProcessor.FlatMapper<T,R>` | AbstractProcessor.`flatMapper(int ordinal, Function<? super T,? extends Traverser<? extends R>> mapper)` Factory of `AbstractProcessor.FlatMapper`.

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

    Method parameters in com.hazelcast.jet.core.processor with type arguments of type Traverser
    Modifier and Type | Method and Description
    --- | ---
    `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 <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 <C,T,R> ProcessorSupplier` | Processors.`flatMapUsingContextP(ContextFactory<C> contextFactory, BiFunctionEx<? super C,? 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.

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

    Method parameters in com.hazelcast.jet.pipeline with type arguments of type Traverser
    Modifier and Type | Method and Description
    --- | ---
    `<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)`
    `<S,R> StreamStage<R>` | StreamStageWithKey.`flatMapStateful(long ttl, SupplierEx<? extends S> createFn, TriFunction<? super S,? super K,? super T,? extends Traverser<R>> flatMapFn, TriFunction<? super S,? super K,? super Long,? extends Traverser<R>> onEvictFn)` Attaches a stage that performs a stateful flat-mapping operation.
    `<S,R> StreamStage<R>` | StreamStageWithKey.`flatMapStateful(long ttl, SupplierEx<? extends S> createFn, TriFunction<? super S,? super K,? super T,? extends Traverser<R>> flatMapFn, TriFunction<? super S,? super K,? super Long,? extends Traverser<R>> onEvictFn)` Attaches a stage that performs a stateful flat-mapping operation.
    `<S,R> StreamStage<R>` | StreamStage.`flatMapStateful(SupplierEx<? extends S> createFn, BiFunctionEx<? super S,? super T,? extends Traverser<R>> flatMapFn)`
    `<S,R> GeneralStage<R>` | GeneralStage.`flatMapStateful(SupplierEx<? extends S> createFn, BiFunctionEx<? super S,? super T,? extends Traverser<R>> flatMapFn)` Attaches a stage that performs a stateful flat-mapping operation.
    `<S,R> BatchStage<R>` | BatchStage.`flatMapStateful(SupplierEx<? extends S> createFn, BiFunctionEx<? super S,? super T,? extends Traverser<R>> flatMapFn)`
    `<S,R> StreamStage<R>` | StreamStageWithKey.`flatMapStateful(SupplierEx<? extends S> createFn, TriFunction<? super S,? super K,? super T,? extends Traverser<R>> flatMapFn)`
    `<S,R> GeneralStage<R>` | GeneralStageWithKey.`flatMapStateful(SupplierEx<? extends S> createFn, TriFunction<? super S,? super K,? super T,? extends Traverser<R>> flatMapFn)` Attaches a stage that performs a stateful flat-mapping operation.
    `<S,R> BatchStage<R>` | BatchStageWithKey.`flatMapStateful(SupplierEx<? extends S> createFn, TriFunction<? super S,? super K,? super T,? extends Traverser<R>> flatMapFn)`
    `<C,R> StreamStage<R>` | StreamStage.`flatMapUsingContext(ContextFactory<C> contextFactory, BiFunctionEx<? super C,? super T,? extends Traverser<R>> flatMapFn)`
    `<C,R> GeneralStage<R>` | GeneralStage.`flatMapUsingContext(ContextFactory<C> contextFactory, BiFunctionEx<? super C,? super T,? extends Traverser<R>> flatMapFn)` Attaches a flat-mapping stage which applies the supplied function to each input item independently and emits all items from the `Traverser` it returns as the output items.
    `<C,R> BatchStage<R>` | BatchStage.`flatMapUsingContext(ContextFactory<C> contextFactory, BiFunctionEx<? super C,? super T,? extends Traverser<R>> flatMapFn)`
    `<C,R> StreamStage<R>` | StreamStageWithKey.`flatMapUsingContext(ContextFactory<C> contextFactory, TriFunction<? super C,? super K,? super T,? extends Traverser<? extends R>> flatMapFn)`
    `<C,R> GeneralStage<R>` | GeneralStageWithKey.`flatMapUsingContext(ContextFactory<C> contextFactory, TriFunction<? super C,? super K,? super T,? extends Traverser<? extends R>> flatMapFn)` Attaches a flat-mapping stage which applies the supplied function to each input item independently and emits all the items from the `Traverser` it returns as the output items.
    `<C,R> BatchStage<R>` | BatchStageWithKey.`flatMapUsingContext(ContextFactory<C> contextFactory, TriFunction<? super C,? super K,? super T,? extends Traverser<? extends R>> flatMapFn)`
    `<C,R> StreamStage<R>` | StreamStage.`flatMapUsingContextAsync(ContextFactory<C> contextFactory, BiFunctionEx<? super C,? super T,? extends CompletableFuture<Traverser<R>>> flatMapAsyncFn)`
    `<C,R> GeneralStage<R>` | GeneralStage.`flatMapUsingContextAsync(ContextFactory<C> contextFactory, BiFunctionEx<? super C,? super T,? extends CompletableFuture<Traverser<R>>> flatMapAsyncFn)` Asynchronous version of `GeneralStage.flatMapUsingContext(com.hazelcast.jet.pipeline.ContextFactory<C>, com.hazelcast.jet.function.BiFunctionEx<? super C, ? super T, ? extends com.hazelcast.jet.Traverser<R>>)`: the `flatMapAsyncFn` returns a `CompletableFuture<Traverser<R>>` instead of just `Traverser<R>`.
    `<C,R> BatchStage<R>` | BatchStage.`flatMapUsingContextAsync(ContextFactory<C> contextFactory, BiFunctionEx<? super C,? super T,? extends CompletableFuture<Traverser<R>>> flatMapAsyncFn)`
    `<C,R> StreamStage<R>` | StreamStageWithKey.`flatMapUsingContextAsync(ContextFactory<C> contextFactory, TriFunction<? super C,? super K,? super T,CompletableFuture<Traverser<R>>> flatMapAsyncFn)`
    `<C,R> GeneralStage<R>` | GeneralStageWithKey.`flatMapUsingContextAsync(ContextFactory<C> contextFactory, TriFunction<? super C,? super K,? super T,CompletableFuture<Traverser<R>>> flatMapAsyncFn)` Asynchronous version of `GeneralStageWithKey.flatMapUsingContext(com.hazelcast.jet.pipeline.ContextFactory<C>, com.hazelcast.jet.function.TriFunction<? super C, ? super K, ? super T, ? extends com.hazelcast.jet.Traverser<? extends R>>)`: the `flatMapAsyncFn` returns a `CompletableFuture<Traverser<R>>` instead of just `Traverser<R>`.
    `<C,R> BatchStage<R>` | BatchStageWithKey.`flatMapUsingContextAsync(ContextFactory<C> contextFactory, TriFunction<? super C,? super K,? super T,CompletableFuture<Traverser<R>>> flatMapAsyncFn)`

Copyright © 2019. All rights reserved.