public class UniOnItem<T> extends Object
Modifier and Type | Method and Description |
---|---|
<R> Uni<R> |
apply(Function<? super T,? extends R> mapper)
Deprecated.
|
Uni<T> |
call(Function<? super T,Uni<?>> action)
Produces a new
Uni invoking the given @{code action} when the item event is received. |
Uni<T> |
call(Supplier<Uni<?>> action)
Produces a new
Uni invoking the given @{code action} when the item event is received, ignoring it. |
<O> Uni<O> |
castTo(Class<O> target)
Produces an
Uni emitting an item based on the upstream item but casted to the target class. |
UniOnItemDelay<T> |
delayIt()
Produces a new
Uni receiving an item from upstream and delaying the emission on the item
event (with the same item). |
<O> Multi<O> |
disjoint()
Takes the items from the upstream
Uni that is either a Publisher<O> ,
an O[] , an Iterable<O> or a Multi<O> and
disjoint the items to obtain a Multi<O> . |
Uni<T> |
failWith(Function<? super T,? extends Throwable> mapper)
|
Uni<T> |
failWith(Supplier<? extends Throwable> supplier)
|
UniOnNotNull<T> |
ifNotNull()
Adds specific behavior when the observed
Uni fies a non-null item. |
UniOnNull<T> |
ifNull()
Adds specific behavior when the observed
Uni fires null as item. |
UniOnItemIgnore<T> |
ignore()
Produces a
Uni ignoring the item of the current Uni and continuing with either
another item , a failure ,
or another Uni . |
Uni<T> |
invoke(Consumer<? super T> callback)
Produces a new
Uni invoking the given callback when the item event is fired. |
Uni<T> |
invoke(Runnable callback)
Produces a new
Uni invoking the given callback when the item event is fired, ignoring its value. |
Uni<T> |
invokeUni(Function<? super T,Uni<?>> action)
Deprecated.
Use
call(Function) |
<R> Uni<R> |
produceCompletionStage(Function<? super T,? extends CompletionStage<? extends R>> mapper)
Deprecated.
Use
transformToUni(Function) and produce the Uni using
Uni.createFrom().completionStage(...) |
<R> Multi<R> |
produceMulti(Function<? super T,? extends org.reactivestreams.Publisher<? extends R>> mapper)
Deprecated.
|
<R> Uni<R> |
produceUni(BiConsumer<? super T,UniEmitter<? super R>> consumer)
Deprecated.
|
<R> Uni<R> |
produceUni(Function<? super T,Uni<? extends R>> mapper)
Deprecated.
Use
transformToUni(Function) instead |
<R> Uni<R> |
transform(Function<? super T,? extends R> mapper)
|
<R> Multi<R> |
transformToMulti(Function<? super T,? extends org.reactivestreams.Publisher<? extends R>> mapper)
When this
Uni produces its item (maybe null ), call the given mapper to produce
a Publisher . |
<R> Uni<R> |
transformToUni(BiConsumer<? super T,UniEmitter<? super R>> consumer)
Transforms the received item asynchronously, forwarding the events emitted by an
UniEmitter provided to
the given consumer. |
<R> Uni<R> |
transformToUni(Function<? super T,Uni<? extends R>> mapper)
Transforms the received item asynchronously, forwarding the events emitted by another
Uni produced by
the given mapper . |
public Uni<T> invoke(Consumer<? super T> callback)
Uni
invoking the given callback when the item
event is fired. Note that the
item can be null
.
If the callback throws an exception, this exception is propagated to the downstream as failure.
callback
- the callback, must not be null
Uni
public Uni<T> invoke(Runnable callback)
Uni
invoking the given callback when the item
event is fired, ignoring its value.
If the callback throws an exception, this exception is propagated to the downstream as failure.
callback
- the callback, must not be null
Uni
@Deprecated public Uni<T> invokeUni(Function<? super T,Uni<?>> action)
call(Function)
Uni
invoking the given @{code action} when the item
event is received. Note that
the received item can be null
.
Unlike invoke(Consumer)
, the passed function returns a Uni
. When the produced Uni
sends
its item, this item is discarded, and the original item
is forwarded downstream. If the produced
Uni
fails, the failure is propagated downstream.
public Uni<T> call(Function<? super T,Uni<?>> action)
Uni
invoking the given @{code action} when the item
event is received. Note that
the received item can be null
.
Unlike invoke(Consumer)
, the passed function returns a Uni
. When the produced Uni
sends
its item, this item is discarded, and the original item
is forwarded downstream. If the produced
Uni
fails, the failure is propagated downstream.
public Uni<T> call(Supplier<Uni<?>> action)
Uni
invoking the given @{code action} when the item
event is received, ignoring it.
Unlike invoke(Consumer)
, the passed function returns a Uni
. When the produced Uni
sends
its item, this item is discarded, and the original item
is forwarded downstream. If the produced
Uni
fails, the failure is propagated downstream.
@Deprecated public <R> Uni<R> apply(Function<? super T,? extends R> mapper)
transform(Function)
Uni
invoking the given function when the current Uni
fires the item
event.
The function receives the item as parameter, and can transform it. The returned object is sent downstream
as item
.
For asynchronous composition, see transformToUni(Function)
.
R
- the type of Uni itemmapper
- the mapper function, must not be null
Uni
public <R> Uni<R> transform(Function<? super T,? extends R> mapper)
Uni
invoking the given function when the current Uni
fires the item
event.
The function receives the item as parameter, and can transform it. The returned object is sent downstream
as item
.
For asynchronous composition, see transformToUni(Function)
.
R
- the type of Uni itemmapper
- the mapper function, must not be null
Uni
public <R> Uni<R> transformToUni(Function<? super T,Uni<? extends R>> mapper)
Uni
produced by
the given mapper
.
The mapper is called with the item event of the current Uni
and produces an Uni
, possibly
using another type of item (R
). The events fired by produced Uni
are forwarded to the
Uni
returned by this method.
This operation is generally named flatMap
.
@Deprecated public <R> Uni<R> produceUni(Function<? super T,Uni<? extends R>> mapper)
transformToUni(Function)
insteadUni
produced by
the given mapper
.
The mapper is called with the item event of the current Uni
and produces an Uni
, possibly
using another type of item (R
). The events fired by produced Uni
are forwarded to the
Uni
returned by this method.
This operation is generally named flatMap
.
public <R> Multi<R> transformToMulti(Function<? super T,? extends org.reactivestreams.Publisher<? extends R>> mapper)
Uni
produces its item (maybe null
), call the given mapper
to produce
a Publisher
. Continue the pipeline with this publisher (as a Multi
).
The mapper is called with the item event of the current Uni
and produces a Publisher
, possibly
using another type of item (R
). Events fired by the produced Publisher
are forwarded to the
Multi
returned by this method.
This operation is generally named flatMapPublisher
.
R
- the type of item produced by the resulting Multi
mapper
- the mapper, must not be null
, may expect to receive null
as item.@Deprecated public <R> Multi<R> produceMulti(Function<? super T,? extends org.reactivestreams.Publisher<? extends R>> mapper)
transformToMulti(Function)
Uni
produces its item (maybe null
), call the given mapper
to produce
a Publisher
. Continue the pipeline with this publisher (as a Multi
).
The mapper is called with the item event of the current Uni
and produces a Publisher
, possibly
using another type of item (R
). Events fired by the produced Publisher
are forwarded to the
Multi
returned by this method.
This operation is generally named flatMapPublisher
.
R
- the type of item produced by the resulting Multi
mapper
- the mapper, must not be null
, may expect to receive null
as item.@Deprecated public <R> Uni<R> produceCompletionStage(Function<? super T,? extends CompletionStage<? extends R>> mapper)
transformToUni(Function)
and produce the Uni using
Uni.createFrom().completionStage(...)
CompletionStage
produced by the given mapper
.
The mapper is called with the item event of the current Uni
and produces an CompletionStage
,
possibly using another type of item (R
). The events fired by produced CompletionStage
are
forwarded to the Uni
returned by this method.
*
R
- the type of itemmapper
- the function called with the item of this Uni
and producing the CompletionStage
,
must not be null
, must not return null
.Uni
that would fire events from the uni produced by the mapper function, possibly
in an asynchronous manner.public <R> Uni<R> transformToUni(BiConsumer<? super T,UniEmitter<? super R>> consumer)
UniEmitter
provided to
the given consumer.
The consumer is called with the item event of the current Uni
and an emitter used to fire events.
These events are these propagated by the produced Uni
.
R
- the type of item emitted by the emitterconsumer
- the function called with the item of the this Uni
and an UniEmitter
.
It must not be null
.Uni
that would fire events from the emitter consumed by the mapper function, possibly
in an asynchronous manner.@Deprecated public <R> Uni<R> produceUni(BiConsumer<? super T,UniEmitter<? super R>> consumer)
transformToUni(BiConsumer)
UniEmitter
provided to
the given consumer.
The consumer is called with the item event of the current Uni
and an emitter used to fire events.
These events are these propagated by the produced Uni
.
R
- the type of item emitted by the emitterconsumer
- the function called with the item of the this Uni
and an UniEmitter
.
It must not be null
.Uni
that would fire events from the emitter consumed by the mapper function, possibly
in an asynchronous manner.public UniOnItemDelay<T> delayIt()
Uni
receiving an item from upstream and delaying the emission on the item
event (with the same item).public UniOnItemIgnore<T> ignore()
Uni
ignoring the item of the current Uni
and continuing with either
another item
, a failure
,
or another Uni
. The produced Uni
propagates the failure
event if the upstream uni fires a failure.
Examples:
Uni<T> upstream = ...;
uni = upstream.onItem().ignore().andSwitchTo(other) // Ignore the item from upstream and switch to another uni
uni = upstream.onItem().ignore().andContinueWith(newResult) // Ignore the item from upstream, and fire newResult
public Uni<T> failWith(Function<? super T,? extends Throwable> mapper)
Uni
invoking the given function when the current Uni
fires an item. The
function transforms the received item into a failure that will be fired by the produced Uni
.
For asynchronous composition, see transformToUni(Function)
}.mapper
- the mapper function, must not be null
, must not return null
Uni
public Uni<T> failWith(Supplier<? extends Throwable> supplier)
Uni
invoking the given supplier when the current Uni
fires an item.
The supplier produce the received item into a failure that will be fired by the produced Uni
.supplier
- the supplier to produce the failure, must not be null
, must not produce null
Uni
public <O> Uni<O> castTo(Class<O> target)
Uni
emitting an item based on the upstream item but casted to the target class.O
- the type of item emitted by the produced unitarget
- the target classpublic UniOnNull<T> ifNull()
Uni
fires null
as item. While null
is a valid
value, it may require specific processing. This group of operators allows implementing this specific behavior.
Examples:
Uni<T> upstream = ...;
Uni<T> uni = ...;
uni = upstream.onItem().ifNull().continueWith(anotherValue) // use the fallback value if upstream emits null
uni = upstream.onItem().ifNull().fail() // propagate a NullPointerException if upstream emits null
uni = upstream.onItem().ifNull().failWith(exception) // propagate the given exception if upstream emits null
uni = upstream.onItem().ifNull().switchTo(another) // switch to another uni if upstream emits null
null
public UniOnNotNull<T> ifNotNull()
Uni
fies a non-null
item. If the item is null
,
default fallbacks are used.non-null
itempublic <O> Multi<O> disjoint()
Uni
that is either a Publisher<O>
,
an O[]
, an Iterable<O>
or a Multi<O>
and
disjoint the items to obtain a Multi<O>
.
For examples, Uni<[A, B, C]>
is transformed into Multi<A, B, C>
, Uni<[]>
is transformed
into an empty Multi
.
If the item from the upstream are not instances of Iterable
, Publisher
or array, an
IllegalArgumentException
is propagated downstream.
If the item is null
, an empty Multi
is produced.
If the upstream propagates a failure, the failure is propagated downstream.
O
- the type of the upstream item.Copyright © 2019–2020 SmallRye. All rights reserved.