- All Superinterfaces:
- Enclosing interface:
public static interface Stage.FlatMapIterable extends StageA flat map stage that emits and fattens
The flat map stage must execute the given mapper on each element, and concatenate the iterables emitted by the mapper function into the resulting stream.
RuntimeExceptionthrown by the function must be propagated downstream as an error, and upstream must be cancelled. Any subsequent elements received from upstream before the cancellation signal is handled must be dropped.
If downstream cancels, then upstream must be cancelled, and if there is a current iterator being published, it must no longer be consumed. The iterator must not be run through to completion in such a circumstance.
If a currently consumed iterator throws an exception from either its
hasNextmethods, upstream must be cancelled, and the error must be propagated downstream. Any subsequent elements received from upstream before the cancellation signal is handled must be dropped.
If upstream terminates with an error, then implementations may decide to stop consuming any currently running iterator, and propagate the error immediately, or they may run the iterator through to completion, before propagating the error. For the purpose of failing fast, so that network failures can be detected and handled, it is recommended, but not required, that the failure is propagated downstream as soon as possible, and the iterator not be run through to completion.
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.microprofile.reactive.streams.operators.spi.Stage
Stage.Cancel, Stage.Collect, Stage.Concat, Stage.Coupled, Stage.Distinct, Stage.DropWhile, Stage.Failed, Stage.Filter, Stage.FindFirst, Stage.FlatMap, Stage.FlatMapCompletionStage, Stage.FlatMapIterable, Stage.FromCompletionStage, Stage.FromCompletionStageNullable, Stage.Limit, Stage.Map, Stage.Of, Stage.OnComplete, Stage.OnError, Stage.OnErrorResume, Stage.OnErrorResumeWith, Stage.OnTerminate, Stage.Peek, Stage.ProcessorStage, Stage.PublisherStage, Stage.Skip, Stage.SubscriberStage, Stage.TakeWhile