@Version(value="1.0")

# Package org.eclipse.microprofile.reactive.streams.operators.spi

The Reactive Streams utils SPI.

See: Description

Interface Summary
Graph: A graph.
ReactiveStreamsEngine: An engine for turning reactive streams graphs into Reactive Streams publishers/subscribers.
Stage: A stage of a Reactive Streams graph.
Stage.Cancel: A cancelling stage.
Stage.Collect: A collect stage.
Stage.Concat: Concatenate the given graphs together.
Stage.Coupled: A stage that couples a wrapped subscriber graph to a wrapped publisher graph.
Stage.Distinct: A stage returning a stream consisting of the distinct elements (according to `Object.equals(Object)`) of this stream.
Stage.DropWhile: A drop while stage.
Stage.Failed: A failed publisher.
Stage.Filter: A filter stage.
Stage.FindFirst: A subscriber stage that emits the first element encountered.
Stage.FlatMap: A flat map stage.
Stage.FlatMapCompletionStage: A flat map stage that emits and flattens `CompletionStage`.
Stage.FlatMapIterable: A flat map stage that emits and fattens `Iterable`.
Stage.FromCompletionStage: A publisher representation of a `CompletionStage`.
Stage.FromCompletionStageNullable: A publisher representation of a `CompletionStage`.
Stage.Limit: A limit stage.
Stage.Map: A map stage.
Stage.Of: A publisher of zero to many values.
Stage.OnComplete: A stage returning a stream containing all the elements from this stream, additionally performing the provided action when this stream completes.
Stage.OnError: A stage returning a stream containing all the elements from this stream, additionally performing the provided action if this stream conveys an error.
Stage.OnErrorResume: A stage to handle errors from upstream.
Stage.OnErrorResumeWith: A stage to handle errors from upstream.
Stage.OnTerminate: A stage returning a stream containing all the elements from this stream, additionally performing the provided action if this stream terminates with an error, completes, or is cancelled by downstream.
Stage.Peek: A stage returning a stream containing all the elements from this stream, additionally performing the provided action on each element.
Stage.ProcessorStage: A processor stage.
Stage.PublisherStage: A publisher stage.
Stage.Skip: A skip stage.
Stage.SubscriberStage: A subscriber.
Stage.TakeWhile: A take while stage.
SubscriberWithCompletionStage<T,R>: A subscriber and completion stage pair.
ToGraphable: All instances of `PublisherBuilder`, `ProcessorBuilder`, `SubscriberBuilder` and `CompletionRunner` must implement this, to ensure that the builder can be turned into a graph by other implementations of the API.

Class Summary
ReactiveStreamsFactoryResolver: This class is not intended to be used by end-users but for portable container integration purpose only.

Exception Summary
UnsupportedStageException: Exception thrown when a reactive streams engine doesn't support a stage that is passed to it.

## Package org.eclipse.microprofile.reactive.streams.operators.spi Description

The Reactive Streams utils SPI. Implementors are expected to implement the `ReactiveStreamsEngine` interface, and use this SPI to inspect the graph of stages. A TCK is also provided that validates that an implementation is both correct according to this specification, and the Reactive Streams specification.