java.lang.Object | |
↳ | io.reactivex.Single<T> |
![]() |
The Single class implements the Reactive Pattern for a single value response.
See Flowable
or Observable
for the
implementation of the Reactive Pattern for a stream or vector of values.
Single
behaves the same as Observable
except that it can only emit either a single successful
value, or an error (there is no "onComplete" notification as there is for Observable
)
Like an Observable
, a Single
is lazy, can be either "hot" or "cold", synchronous or
asynchronous.
The documentation for this class makes use of marble diagrams. The following legend explains these diagrams:
For more information see the ReactiveX documentation.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Single() |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
static <T> Single<T> |
amb(Iterable<? extends SingleSource<? extends T>> sources)
Runs multiple Single sources and signals the events of the first one that signals (cancelling
the rest).
| ||||||||||
static <T> Single<T> |
ambArray(SingleSource...<? extends T> sources)
Runs multiple Single sources and signals the events of the first one that signals (cancelling
the rest).
| ||||||||||
final Single<T> |
ambWith(SingleSource<? extends T> other)
Signals the event of this or the other SingleSource whichever signals first.
| ||||||||||
final T |
blockingGet()
Waits in a blocking fashion until the current Single signals a success value (which is returned) or
an exception (which is propagated).
| ||||||||||
final Single<T> |
cache()
Stores the success value or exception from the current Single and replays it to late SingleObservers.
| ||||||||||
final <U> Single<U> |
cast(Class<? extends U> clazz)
Casts the success value of the current Single into the target type or signals a
ClassCastException if not compatible.
| ||||||||||
final <R> Single<R> |
compose(SingleTransformer<? super T, ? extends R> transformer)
Transform a Single by applying a particular Transformer function to it.
| ||||||||||
static <T> Flowable<T> |
concat(Publisher<? extends SingleSource<? extends T>> sources)
Concatenate the single values, in a non-overlapping fashion, of the Single sources provided by
a Publisher sequence.
| ||||||||||
static <T> Flowable<T> |
concat(Publisher<? extends SingleSource<? extends T>> sources, int prefetch)
Concatenate the single values, in a non-overlapping fashion, of the Single sources provided by
a Publisher sequence and prefetched by the specified amount.
| ||||||||||
static <T> Flowable<T> |
concat(SingleSource<? extends T> source1, SingleSource<? extends T> source2, SingleSource<? extends T> source3, SingleSource<? extends T> source4)
Returns a Flowable that emits the items emitted by four Singles, one after the other.
| ||||||||||
static <T> Observable<T> |
concat(ObservableSource<? extends SingleSource<? extends T>> sources)
Concatenate the single values, in a non-overlapping fashion, of the Single sources provided by
an Observable sequence.
| ||||||||||
static <T> Flowable<T> |
concat(SingleSource<? extends T> source1, SingleSource<? extends T> source2)
Returns a Flowable that emits the items emitted by two Singles, one after the other.
| ||||||||||
static <T> Flowable<T> |
concat(SingleSource<? extends T> source1, SingleSource<? extends T> source2, SingleSource<? extends T> source3)
Returns a Flowable that emits the items emitted by three Singles, one after the other.
| ||||||||||
static <T> Flowable<T> |
concat(Iterable<? extends SingleSource<? extends T>> sources)
Concatenate the single values, in a non-overlapping fashion, of the Single sources provided by
an Iterable sequence.
| ||||||||||
static <T> Flowable<T> |
concatArray(SingleSource...<? extends T> sources)
Concatenate the single values, in a non-overlapping fashion, of the Single sources provided in
an array.
| ||||||||||
final Flowable<T> |
concatWith(SingleSource<? extends T> other)
Returns a Flowable that emits the item emitted by the source Single, then the item emitted by the
specified Single.
| ||||||||||
final Single<Boolean> |
contains(Object value)
Signals true if the current Single signals a success value that is Object-equals with the value
provided.
| ||||||||||
final Single<Boolean> |
contains(Object value, BiPredicate<Object, Object> comparer)
Signals true if the current Single signals a success value that is equal with
the value provided by calling a bi-predicate.
| ||||||||||
static <T> Single<T> |
create(SingleOnSubscribe<T> source)
Provides an API (via a cold Completable) that bridges the reactive world with the callback-style world.
| ||||||||||
static <T> Single<T> |
defer(Callable<? extends SingleSource<? extends T>> singleSupplier)
Calls a Callable for each individual SingleObserver to return the actual Single source to
be subscribed to.
| ||||||||||
final Single<T> |
delay(long time, TimeUnit unit)
Delays the emission of the success or error signal from the current Single by
the specified amount.
| ||||||||||
final Single<T> |
delay(long time, TimeUnit unit, Scheduler scheduler)
Delays the emission of the success signal from the current Single by the specified amount.
| ||||||||||
final <U> Single<T> |
delaySubscription(Publisher<U> other)
Delays the actual subscription to the current Single until the given other Publisher
signals its first value or completes.
| ||||||||||
final <U> Single<T> |
delaySubscription(long time, TimeUnit unit, Scheduler scheduler)
Delays the actual subscription to the current Single until the given time delay elapsed.
| ||||||||||
final <U> Single<T> |
delaySubscription(SingleSource<U> other)
Delays the actual subscription to the current Single until the given other SingleSource
signals success.
| ||||||||||
final <U> Single<T> |
delaySubscription(long time, TimeUnit unit)
Delays the actual subscription to the current Single until the given time delay elapsed.
| ||||||||||
final <U> Single<T> |
delaySubscription(ObservableSource<U> other)
Delays the actual subscription to the current Single until the given other ObservableSource
signals its first value or completes.
| ||||||||||
final Single<T> |
delaySubscription(CompletableSource other)
Delays the actual subscription to the current Single until the given other CompletableSource
completes.
| ||||||||||
final Single<T> |
doAfterSuccess(Consumer<? super T> onAfterSuccess)
Calls the specified consumer with the success item after this item has been emitted to the downstream.
| ||||||||||
final Single<T> |
doAfterTerminate(Action onAfterTerminate)
Registers an
Action to be called after this Single invokes either onSuccess or onError. | ||||||||||
final Single<T> |
doFinally(Action onFinally)
Calls the specified action after this Single signals onSuccess or onError or gets disposed by
the downstream.
| ||||||||||
final Single<T> |
doOnDispose(Action onDispose)
Calls the shared
Action if a SingleObserver subscribed to the current Single
disposes the common Disposable it received via onSubscribe. | ||||||||||
final Single<T> |
doOnError(Consumer<? super Throwable> onError)
Calls the shared consumer with the error sent via onError for each
SingleObserver that subscribes to the current Single.
| ||||||||||
final Single<T> |
doOnEvent(BiConsumer<? super T, ? super Throwable> onEvent)
Calls the shared consumer with the error sent via onError or the value
via onSuccess for each SingleObserver that subscribes to the current Single.
| ||||||||||
final Single<T> |
doOnSubscribe(Consumer<? super Disposable> onSubscribe)
Calls the shared consumer with the Disposable sent through the onSubscribe for each
SingleObserver that subscribes to the current Single.
| ||||||||||
final Single<T> |
doOnSuccess(Consumer<? super T> onSuccess)
Calls the shared consumer with the success value sent via onSuccess for each
SingleObserver that subscribes to the current Single.
| ||||||||||
static <T> Single<Boolean> |
equals(SingleSource<? extends T> first, SingleSource<? extends T> second)
Compares two SingleSources and emits true if they emit the same value (compared via Object.equals).
| ||||||||||
static <T> Single<T> |
error(Throwable exception)
Returns a Single that invokes a subscriber's
onError method when the
subscriber subscribes to it. | ||||||||||
static <T> Single<T> |
error(Callable<? extends Throwable> errorSupplier)
Signals a Throwable returned by the callback function for each individual SingleObserver.
| ||||||||||
final Maybe<T> |
filter(Predicate<? super T> predicate)
Filters the success item of the Single via a predicate function and emitting it if the predicate
returns true, completing otherwise.
| ||||||||||
final <R> Single<R> |
flatMap(Function<? super T, ? extends SingleSource<? extends R>> mapper)
Returns a Single that is based on applying a specified function to the item emitted by the source Single,
where that function returns a SingleSource.
| ||||||||||
final Completable |
flatMapCompletable(Function<? super T, ? extends CompletableSource> mapper)
Returns a
Completable that completes based on applying a specified function to the item emitted by the
source Single , where that function returns a Completable . | ||||||||||
final <R> Maybe<R> |
flatMapMaybe(Function<? super T, ? extends MaybeSource<? extends R>> mapper)
Returns a Maybe that is based on applying a specified function to the item emitted by the source Single,
where that function returns a MaybeSource.
| ||||||||||
final <R> Observable<R> |
flatMapObservable(Function<? super T, ? extends ObservableSource<? extends R>> mapper)
Returns an Observable that is based on applying a specified function to the item emitted by the source Single,
where that function returns an ObservableSource.
| ||||||||||
final <R> Flowable<R> |
flatMapPublisher(Function<? super T, ? extends Publisher<? extends R>> mapper)
Returns a Flowable that emits items based on applying a specified function to the item emitted by the
source Single, where that function returns a Publisher.
| ||||||||||
final <U> Flowable<U> |
flattenAsFlowable(Function<? super T, ? extends Iterable<? extends U>> mapper)
Returns a Flowable that merges each item emitted by the source Single with the values in an
Iterable corresponding to that item that is generated by a selector.
| ||||||||||
final <U> Observable<U> |
flattenAsObservable(Function<? super T, ? extends Iterable<? extends U>> mapper)
Returns an Observable that maps a success value into an Iterable and emits its items.
| ||||||||||
static <T> Single<T> |
fromCallable(Callable<? extends T> callable)
Returns a
Single that invokes passed function and emits its result for each new SingleObserver that subscribes. | ||||||||||
static <T> Single<T> | fromFuture(Future<? extends T> future, Scheduler scheduler) | ||||||||||
static <T> Single<T> |
fromFuture(Future<? extends T> future, long timeout, TimeUnit unit, Scheduler scheduler)
Converts a
Future into a Single , with a timeout on the Future. | ||||||||||
static <T> Single<T> |
fromFuture(Future<? extends T> future)
Converts a
Future into a Single . | ||||||||||
static <T> Single<T> |
fromFuture(Future<? extends T> future, long timeout, TimeUnit unit)
Converts a
Future into a Single , with a timeout on the Future. | ||||||||||
static <T> Single<T> |
fromObservable(ObservableSource<? extends T> observableSource)
Wraps a specific ObservableSource into a Single and signals its single element or error.
| ||||||||||
static <T> Single<T> |
fromPublisher(Publisher<? extends T> publisher)
Wraps a specific Publisher into a Single and signals its single element or error.
| ||||||||||
final Single<T> |
hide()
Hides the identity of the current Single, including the Disposable that is sent
to the downstream via
onSubscribe() . | ||||||||||
static <T> Single<T> |
just(T item)
Returns a
Single that emits a specified item. | ||||||||||
final <R> Single<R> |
lift(SingleOperator<? extends R, ? super T> lift)
Lifts a function to the current Single and returns a new Single that when subscribed to will pass the
values of the current Single through the Operator function.
| ||||||||||
final <R> Single<R> |
map(Function<? super T, ? extends R> mapper)
Returns a Single that applies a specified function to the item emitted by the source Single and
emits the result of this function application.
| ||||||||||
static <T> Flowable<T> |
merge(Iterable<? extends SingleSource<? extends T>> sources)
Merges an Iterable sequence of SingleSource instances into a single Flowable sequence,
running all SingleSources at once.
| ||||||||||
static <T> Flowable<T> |
merge(SingleSource<? extends T> source1, SingleSource<? extends T> source2, SingleSource<? extends T> source3, SingleSource<? extends T> source4)
Flattens four Singles into a single Flowable, without any transformation.
| ||||||||||
static <T> Flowable<T> |
merge(SingleSource<? extends T> source1, SingleSource<? extends T> source2)
Flattens two Singles into a single Flowable, without any transformation.
| ||||||||||
static <T> Flowable<T> |
merge(SingleSource<? extends T> source1, SingleSource<? extends T> source2, SingleSource<? extends T> source3)
Flattens three Singles into a single Flowable, without any transformation.
| ||||||||||
static <T> Flowable<T> |
merge(Publisher<? extends SingleSource<? extends T>> sources)
Merges a Flowable sequence of SingleSource instances into a single Flowable sequence,
running all SingleSources at once.
| ||||||||||
static <T> Single<T> |
merge(SingleSource<? extends SingleSource<? extends T>> source)
Flattens a
Single that emits a Single into a single Single that emits the item
emitted by the nested Single , without any transformation. | ||||||||||
final Flowable<T> |
mergeWith(SingleSource<? extends T> other)
Flattens this and another Single into a single Flowable, without any transformation.
| ||||||||||
static <T> Single<T> |
never()
Returns a singleton instance of a never-signalling Single (only calls onSubscribe).
| ||||||||||
final Single<T> |
observeOn(Scheduler scheduler)
Modifies a Single to emit its item (or notify of its error) on a specified
Scheduler ,
asynchronously. | ||||||||||
final Single<T> |
onErrorResumeNext(Single<? extends T> resumeSingleInCaseOfError)
Instructs a Single to pass control to another Single rather than invoking
onError(Throwable) if it encounters an error. | ||||||||||
final Single<T> |
onErrorResumeNext(Function<? super Throwable, ? extends SingleSource<? extends T>> resumeFunctionInCaseOfError)
Instructs a Single to pass control to another Single rather than invoking
onError(Throwable) if it encounters an error. | ||||||||||
final Single<T> |
onErrorReturn(Function<Throwable, ? extends T> resumeFunction)
Instructs a Single to emit an item (returned by a specified function) rather than invoking
onError if it encounters an error. | ||||||||||
final Single<T> |
onErrorReturnItem(T value)
Signals the specified value as success in case the current Single signals an error.
| ||||||||||
final Flowable<T> |
repeat()
Repeatedly re-subscribes to the current Single and emits each success value.
| ||||||||||
final Flowable<T> |
repeat(long times)
Re-subscribes to the current Single at most the given number of times and emits each success value.
| ||||||||||
final Flowable<T> |
repeatUntil(BooleanSupplier stop)
Re-subscribes to the current Single until the given BooleanSupplier returns true.
| ||||||||||
final Flowable<T> |
repeatWhen(Function<? super Flowable<Object>, ? extends Publisher<?>> handler)
Re-subscribes to the current Single if
the Publisher returned by the handler function signals a value in response to a
value signalled through the Flowable the handle receives.
| ||||||||||
final Single<T> |
retry(BiPredicate<? super Integer, ? super Throwable> predicate)
Re-subscribe to the current Single if the given predicate returns true when the Single fails
with an onError.
| ||||||||||
final Single<T> |
retry(Predicate<? super Throwable> predicate)
Re-subscribe to the current Single if the given predicate returns true when the Single fails
with an onError.
| ||||||||||
final Single<T> |
retry()
Repeatedly re-subscribes to the current Single indefinitely if it fails with an onError.
| ||||||||||
final Single<T> |
retry(long times)
Repeatedly re-subscribe at most the specified times to the current Single
if it fails with an onError.
| ||||||||||
final Single<T> |
retryWhen(Function<? super Flowable<Throwable>, ? extends Publisher<?>> handler)
Re-subscribes to the current Single if and when the Publisher returned by the handler
function signals a value.
| ||||||||||
final Disposable |
subscribe(Consumer<? super T> onSuccess)
Subscribes to a Single and provides a callback to handle the item it emits.
| ||||||||||
final Disposable |
subscribe(BiConsumer<? super T, ? super Throwable> onCallback)
Subscribes to a Single and provides a composite callback to handle the item it emits
or any error notification it issues.
| ||||||||||
final void |
subscribe(SingleObserver<? super T> subscriber)
Subscribes the given SingleObserver to this SingleSource instance.
| ||||||||||
final Disposable |
subscribe(Consumer<? super T> onSuccess, Consumer<? super Throwable> onError)
Subscribes to a Single and provides callbacks to handle the item it emits or any error notification it
issues.
| ||||||||||
final Disposable |
subscribe()
Subscribes to a Single but ignore its emission or notification.
| ||||||||||
final Single<T> |
subscribeOn(Scheduler scheduler)
Asynchronously subscribes subscribers to this Single on the specified
Scheduler . | ||||||||||
final <E extends SingleObserver<? super T>> E |
subscribeWith(E observer)
Subscribes a given SingleObserver (subclass) to this Single and returns the given
SingleObserver as is.
| ||||||||||
final <E> Single<T> |
takeUntil(SingleSource<? extends E> other)
Returns a Single that emits the item emitted by the source Single until a second Single emits an item.
| ||||||||||
final <E> Single<T> |
takeUntil(Publisher<E> other)
Returns a Single that emits the item emitted by the source Single until a Publisher emits an item.
| ||||||||||
final Single<T> |
takeUntil(CompletableSource other)
Returns a Single that emits the item emitted by the source Single until a Completable terminates.
| ||||||||||
final TestObserver<T> |
test(boolean cancelled)
Creates a TestObserver optionally in cancelled state, then subscribes it to this Single.
| ||||||||||
final TestObserver<T> |
test()
Creates a TestObserver and subscribes
it to this Single.
| ||||||||||
final Single<T> |
timeout(long timeout, TimeUnit unit)
Signals a TimeoutException if the current Single doesn't signal a success value within the
specified timeout window.
| ||||||||||
final Single<T> |
timeout(long timeout, TimeUnit unit, Scheduler scheduler, SingleSource<? extends T> other)
Runs the current Single and if it doesn't signal within the specified timeout window, it is
cancelled and the other SingleSource subscribed to.
| ||||||||||
final Single<T> |
timeout(long timeout, TimeUnit unit, SingleSource<? extends T> other)
Runs the current Single and if it doesn't signal within the specified timeout window, it is
cancelled and the other SingleSource subscribed to.
| ||||||||||
final Single<T> |
timeout(long timeout, TimeUnit unit, Scheduler scheduler)
Signals a TimeoutException if the current Single doesn't signal a success value within the
specified timeout window.
| ||||||||||
static Single<Long> |
timer(long delay, TimeUnit unit, Scheduler scheduler)
Signals success with 0L value after the given delay for each SingleObserver.
| ||||||||||
static Single<Long> |
timer(long delay, TimeUnit unit)
Signals success with 0L value after the given delay for each SingleObserver.
| ||||||||||
final <R> R |
to(Function<? super Single<T>, R> convert)
Calls the specified converter function with the current Single instance
during assembly time and returns its result.
| ||||||||||
final Completable |
toCompletable()
Returns a
Completable that discards result of the Single
and calls onComplete when this source Single calls
onSuccess . | ||||||||||
final Flowable<T> |
toFlowable()
Converts this Single into a
Flowable . | ||||||||||
final Future<T> |
toFuture()
Returns a
Future representing the single value emitted by this Single . | ||||||||||
final Maybe<T> |
toMaybe()
Converts this Single into a
Maybe . | ||||||||||
final Observable<T> |
toObservable()
Converts this Single into an
Observable . | ||||||||||
static <T> Single<T> |
unsafeCreate(SingleSource<T> onSubscribe)
Advanced use only: creates a Single instance without
any safeguards by using a callback that is called with a SingleObserver.
| ||||||||||
final Single<T> |
unsubscribeOn(Scheduler scheduler)
Returns a Single which makes sure when a SingleObserver disposes the Disposable,
that call is propagated up on the specified scheduler
| ||||||||||
static <T, U> Single<T> |
using(Callable<U> resourceSupplier, Function<? super U, ? extends SingleSource<? extends T>> singleFunction, Consumer<? super U> disposer, boolean eager)
Allows using and disposing a resource while running a SingleSource instance generated from
that resource (similar to a try-with-resources).
| ||||||||||
static <T, U> Single<T> |
using(Callable<U> resourceSupplier, Function<? super U, ? extends SingleSource<? extends T>> singleFunction, Consumer<? super U> disposer)
Allows using and disposing a resource while running a SingleSource instance generated from
that resource (similar to a try-with-resources).
| ||||||||||
static <T> Single<T> |
wrap(SingleSource<T> source)
Wraps a SingleSource instance into a new Single instance if not already a Single
instance.
| ||||||||||
static <T1, T2, T3, T4, T5, R> Single<R> |
zip(SingleSource<? extends T1> source1, SingleSource<? extends T2> source2, SingleSource<? extends T3> source3, SingleSource<? extends T4> source4, SingleSource<? extends T5> source5, Function5<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? extends R> zipper)
Returns a Single that emits the results of a specified combiner function applied to five items
emitted by five other Singles.
| ||||||||||
static <T1, T2, T3, T4, T5, T6, T7, T8, R> Single<R> |
zip(SingleSource<? extends T1> source1, SingleSource<? extends T2> source2, SingleSource<? extends T3> source3, SingleSource<? extends T4> source4, SingleSource<? extends T5> source5, SingleSource<? extends T6> source6, SingleSource<? extends T7> source7, SingleSource<? extends T8> source8, Function8<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? extends R> zipper)
Returns a Single that emits the results of a specified combiner function applied to eight items
emitted by eight other Singles.
| ||||||||||
static <T1, T2, T3, T4, T5, T6, T7, R> Single<R> |
zip(SingleSource<? extends T1> source1, SingleSource<? extends T2> source2, SingleSource<? extends T3> source3, SingleSource<? extends T4> source4, SingleSource<? extends T5> source5, SingleSource<? extends T6> source6, SingleSource<? extends T7> source7, Function7<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? extends R> zipper)
Returns a Single that emits the results of a specified combiner function applied to seven items
emitted by seven other Singles.
| ||||||||||
static <T1, T2, T3, T4, R> Single<R> |
zip(SingleSource<? extends T1> source1, SingleSource<? extends T2> source2, SingleSource<? extends T3> source3, SingleSource<? extends T4> source4, Function4<? super T1, ? super T2, ? super T3, ? super T4, ? extends R> zipper)
Returns a Single that emits the results of a specified combiner function applied to four items
emitted by four other Singles.
| ||||||||||
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Single<R> |
zip(SingleSource<? extends T1> source1, SingleSource<? extends T2> source2, SingleSource<? extends T3> source3, SingleSource<? extends T4> source4, SingleSource<? extends T5> source5, SingleSource<? extends T6> source6, SingleSource<? extends T7> source7, SingleSource<? extends T8> source8, SingleSource<? extends T9> source9, Function9<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? super T9, ? extends R> zipper)
Returns a Single that emits the results of a specified combiner function applied to nine items
emitted by nine other Singles.
| ||||||||||
static <T1, T2, T3, R> Single<R> |
zip(SingleSource<? extends T1> source1, SingleSource<? extends T2> source2, SingleSource<? extends T3> source3, Function3<? super T1, ? super T2, ? super T3, ? extends R> zipper)
Returns a Single that emits the results of a specified combiner function applied to three items emitted
by three other Singles.
| ||||||||||
static <T1, T2, R> Single<R> |
zip(SingleSource<? extends T1> source1, SingleSource<? extends T2> source2, BiFunction<? super T1, ? super T2, ? extends R> zipper)
Returns a Single that emits the results of a specified combiner function applied to two items emitted by
two other Singles.
| ||||||||||
static <T1, T2, T3, T4, T5, T6, R> Single<R> |
zip(SingleSource<? extends T1> source1, SingleSource<? extends T2> source2, SingleSource<? extends T3> source3, SingleSource<? extends T4> source4, SingleSource<? extends T5> source5, SingleSource<? extends T6> source6, Function6<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? extends R> zipper)
Returns a Single that emits the results of a specified combiner function applied to six items
emitted by six other Singles.
| ||||||||||
static <T, R> Single<R> |
zip(Iterable<? extends SingleSource<? extends T>> sources, Function<? super Object[], ? extends R> zipper)
Waits until all SingleSource sources provided by the Iterable sequence signal a success
value and calls a zipper function with an array of these values to return a result
to be emitted to downstream.
| ||||||||||
static <T, R> Single<R> |
zipArray(Function<? super Object[], ? extends R> zipper, SingleSource...<? extends T> sources)
Waits until all SingleSource sources provided via an array signal a success
value and calls a zipper function with an array of these values to return a result
to be emitted to downstream.
| ||||||||||
final <U, R> Single<R> |
zipWith(SingleSource<U> other, BiFunction<? super T, ? super U, ? extends R> zipper)
Returns a Single that emits the result of applying a specified function to the pair of items emitted by
the source Single and another specified Single.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract void |
subscribeActual(SingleObserver<? super T> observer)
Override this method in subclasses to handle the incoming SingleObservers.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
Runs multiple Single sources and signals the events of the first one that signals (cancelling the rest).
amb
does not operate by default on a particular Scheduler
.sources | the Iterable sequence of sources. A subscription to each source will occur in the same order as in this Iterable. |
---|
Runs multiple Single sources and signals the events of the first one that signals (cancelling the rest).
ambArray
does not operate by default on a particular Scheduler
.sources | the array of sources. A subscription to each source will occur in the same order as in this array. |
---|
Signals the event of this or the other SingleSource whichever signals first.
ambWith
does not operate by default on a particular Scheduler
.other | the other SingleSource to race for the first emission of success or error |
---|
Waits in a blocking fashion until the current Single signals a success value (which is returned) or an exception (which is propagated).
blockingGet
does not operate by default on a particular Scheduler
.Stores the success value or exception from the current Single and replays it to late SingleObservers.
The returned Single subscribes to the current Single when the first SingleObserver subscribes.
cache
does not operate by default on a particular Scheduler
.Casts the success value of the current Single into the target type or signals a ClassCastException if not compatible.
cast
does not operate by default on a particular Scheduler
.clazz | the type token to use for casting the success result from the current Single |
---|
Transform a Single by applying a particular Transformer function to it.
This method operates on the Single itself whereas lift(SingleOperator extends R, ? super T>)
operates on the Single's SingleObservers.
If the operator you are creating is designed to act on the individual item emitted by a Single, use
lift(SingleOperator extends R, ? super T>)
. If your operator is designed to transform the source Single as a whole (for instance, by
applying a particular set of existing RxJava operators to it) use compose
.
compose
does not operate by default on a particular Scheduler
.transformer | the transformer function, not null |
---|
Concatenate the single values, in a non-overlapping fashion, of the Single sources provided by a Publisher sequence.
Flowable
honors the backpressure of the downstream consumer
and the sources Publisher
is expected to honor it as well.concat
does not operate by default on a particular Scheduler
.sources | the Publisher of SingleSource instances |
---|
Concatenate the single values, in a non-overlapping fashion, of the Single sources provided by a Publisher sequence and prefetched by the specified amount.
Flowable
honors the backpressure of the downstream consumer
and the sources Publisher
is expected to honor it as well.concat
does not operate by default on a particular Scheduler
.sources | the Publisher of SingleSource instances |
---|---|
prefetch | the number of SingleSources to prefetch from the Publisher |
Returns a Flowable that emits the items emitted by four Singles, one after the other.
Flowable
honors the backpressure of the downstream consumer.concat
does not operate by default on a particular Scheduler
.source1 | a Single to be concatenated |
---|---|
source2 | a Single to be concatenated |
source3 | a Single to be concatenated |
source4 | a Single to be concatenated |
Concatenate the single values, in a non-overlapping fashion, of the Single sources provided by an Observable sequence.
concat
does not operate by default on a particular Scheduler
.sources | the ObservableSource of SingleSource instances |
---|
Returns a Flowable that emits the items emitted by two Singles, one after the other.
Flowable
honors the backpressure of the downstream consumer.concat
does not operate by default on a particular Scheduler
.source1 | a Single to be concatenated |
---|---|
source2 | a Single to be concatenated |
Returns a Flowable that emits the items emitted by three Singles, one after the other.
Flowable
honors the backpressure of the downstream consumer.concat
does not operate by default on a particular Scheduler
.source1 | a Single to be concatenated |
---|---|
source2 | a Single to be concatenated |
source3 | a Single to be concatenated |
Concatenate the single values, in a non-overlapping fashion, of the Single sources provided by an Iterable sequence.
Flowable
honors the backpressure of the downstream consumer.concat
does not operate by default on a particular Scheduler
.sources | the Iterable sequence of SingleSource instances |
---|
Concatenate the single values, in a non-overlapping fashion, of the Single sources provided in an array.
Flowable
honors the backpressure of the downstream consumer.concatArray
does not operate by default on a particular Scheduler
.sources | the array of SingleSource instances |
---|
Returns a Flowable that emits the item emitted by the source Single, then the item emitted by the specified Single.
Flowable
honors the backpressure of the downstream consumer.concatWith
does not operate by default on a particular Scheduler
.other | a Single to be concatenated after the current |
---|
t1
Signals true if the current Single signals a success value that is Object-equals with the value provided.
contains
does not operate by default on a particular Scheduler
.value | the value to compare against the success value of this Single |
---|
Signals true if the current Single signals a success value that is equal with the value provided by calling a bi-predicate.
contains
does not operate by default on a particular Scheduler
.value | the value to compare against the success value of this Single |
---|---|
comparer | the function that receives the success value of this Single, the value provided and should return true if they are considered equal |
Provides an API (via a cold Completable) that bridges the reactive world with the callback-style world.
Example:
Single.<Event>create(emitter -> {
Callback listener = new Callback() {
@Override
public void onEvent(Event e) {
emitter.onSuccess(e);
}
@Override
public void onFailure(Exception e) {
emitter.onError(e);
}
};
AutoCloseable c = api.someMethod(listener);
emitter.setCancellable(c::close);
});
create
does not operate by default on a particular Scheduler
.source | the emitter that is called when a SingleObserver subscribes to the returned Single |
---|
Calls a Callable for each individual SingleObserver to return the actual Single source to be subscribed to.
defer
does not operate by default on a particular Scheduler
.singleSupplier | the Callable that is called for each individual SingleObserver and returns a SingleSource instance to subscribe to |
---|
Delays the emission of the success or error signal from the current Single by the specified amount.
delay
operates by default on the computation
Scheduler
.time | the time amount to delay the signals |
---|---|
unit | the time unit |
Delays the emission of the success signal from the current Single by the specified amount.
Scheduler
where the non-blocking wait and emission happenstime | the time amount to delay the emission of the success signal |
---|---|
unit | the time unit |
scheduler | the target scheduler to use for the non-blocking wait and emission |
Delays the actual subscription to the current Single until the given other Publisher signals its first value or completes.
If the delaying source signals an error, that error is re-emitted and no subscription to the current Single happens.
The other source is consumed in an unbounded manner (requesting Long.MAX_VALUE from it).
other
publisher is consumed in an unbounded fashion but will be
cancelled after the first item it produced.delaySubscription
does not operate by default on a particular Scheduler
.other | the Publisher that has to signal a value or complete before the subscription to the current Single happens |
---|
Delays the actual subscription to the current Single until the given time delay elapsed.
delaySubscription
does by default subscribe to the current Single
on the Scheduler
you provided, after the delay.time | the time amount to wait with the subscription |
---|---|
unit | the time unit of the waiting |
scheduler | the scheduler to wait on and subscribe on to the current Single |
Delays the actual subscription to the current Single until the given other SingleSource signals success.
If the delaying source signals an error, that error is re-emitted and no subscription to the current Single happens.
delaySubscription
does not operate by default on a particular Scheduler
.other | the SingleSource that has to complete before the subscription to the current Single happens |
---|
Delays the actual subscription to the current Single until the given time delay elapsed.
delaySubscription
does by default subscribe to the current Single
on the computation
Scheduler
after the delay.time | the time amount to wait with the subscription |
---|---|
unit | the time unit of the waiting |
Delays the actual subscription to the current Single until the given other ObservableSource signals its first value or completes.
If the delaying source signals an error, that error is re-emitted and no subscription to the current Single happens.
delaySubscription
does not operate by default on a particular Scheduler
.other | the ObservableSource that has to signal a value or complete before the subscription to the current Single happens |
---|
Delays the actual subscription to the current Single until the given other CompletableSource completes.
If the delaying source signals an error, that error is re-emitted and no subscription to the current Single happens.
delaySubscription
does not operate by default on a particular Scheduler
.other | the CompletableSource that has to complete before the subscription to the current Single happens |
---|
Calls the specified consumer with the success item after this item has been emitted to the downstream.
Note that the doAfterSuccess
action is shared between subscriptions and as such
should be thread-safe.
doAfterSuccess
does not operate by default on a particular Scheduler
.History: 2.0.1 - experimental
onAfterSuccess | the Consumer that will be called after emitting an item from upstream to the downstream |
---|
Registers an Action
to be called after this Single invokes either onSuccess or onError.
*
Note that the doAfterTerminate
action is shared between subscriptions and as such
should be thread-safe.
doAfterTerminate
does not operate by default on a particular Scheduler
.History: 2.0.6 - experimental
onAfterTerminate | an Action to be invoked when the source Single finishes |
---|
Action
Calls the specified action after this Single signals onSuccess or onError or gets disposed by the downstream.
In case of a race between a terminal event and a dispose call, the provided onFinally
action
is executed once per subscription.
Note that the onFinally
action is shared between subscriptions and as such
should be thread-safe.
doFinally
does not operate by default on a particular Scheduler
.History: 2.0.1 - experimental
onFinally | the action called when this Single terminates or gets cancelled |
---|
Calls the shared Action
if a SingleObserver subscribed to the current Single
disposes the common Disposable it received via onSubscribe.
doOnDispose
does not operate by default on a particular Scheduler
.onDispose | the action called when the subscription is disposed |
---|
NullPointerException | if onDispose is null |
---|
Calls the shared consumer with the error sent via onError for each SingleObserver that subscribes to the current Single.
doOnError
does not operate by default on a particular Scheduler
.onError | the consumer called with the success value of onError |
---|
Calls the shared consumer with the error sent via onError or the value via onSuccess for each SingleObserver that subscribes to the current Single.
doOnEvent
does not operate by default on a particular Scheduler
.onEvent | the consumer called with the success value of onEvent |
---|
Calls the shared consumer with the Disposable sent through the onSubscribe for each SingleObserver that subscribes to the current Single.
doOnSubscribe
does not operate by default on a particular Scheduler
.onSubscribe | the consumer called with the Disposable sent via onSubscribe |
---|
Calls the shared consumer with the success value sent via onSuccess for each SingleObserver that subscribes to the current Single.
doOnSuccess
does not operate by default on a particular Scheduler
.onSuccess | the consumer called with the success value of onSuccess |
---|
Compares two SingleSources and emits true if they emit the same value (compared via Object.equals).
equals
does not operate by default on a particular Scheduler
.first | the first SingleSource instance |
---|---|
second | the second SingleSource instance |
Returns a Single that invokes a subscriber's onError
method when the
subscriber subscribes to it.
error
does not operate by default on a particular Scheduler
.exception | the particular Throwable to pass to onError |
---|
onError
method when
the subscriber subscribes to itSignals a Throwable returned by the callback function for each individual SingleObserver.
error
does not operate by default on a particular Scheduler
.errorSupplier | the callable that is called for each individual SingleObserver and returns a Throwable instance to be emitted. |
---|
Filters the success item of the Single via a predicate function and emitting it if the predicate returns true, completing otherwise.
filter
does not operate by default on a particular Scheduler
.predicate | a function that evaluates the item emitted by the source Maybe, returning true
if it passes the filter |
---|
true
Returns a Single that is based on applying a specified function to the item emitted by the source Single, where that function returns a SingleSource.
flatMap
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to the item emitted by the source Single, returns a SingleSource |
---|
mapper
when applied to the item emitted by the source SingleReturns a Completable
that completes based on applying a specified function to the item emitted by the
source Single
, where that function returns a Completable
.
flatMapCompletable
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to the item emitted by the source Single, returns a Completable |
---|
func
when applied to the item emitted by the source SingleReturns a Maybe that is based on applying a specified function to the item emitted by the source Single, where that function returns a MaybeSource.
flatMapMaybe
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to the item emitted by the source Single, returns a MaybeSource |
---|
mapper
when applied to the item emitted by the source SingleReturns an Observable that is based on applying a specified function to the item emitted by the source Single, where that function returns an ObservableSource.
flatMapObservable
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to the item emitted by the source Single, returns an ObservableSource |
---|
func
when applied to the item emitted by the source SingleReturns a Flowable that emits items based on applying a specified function to the item emitted by the source Single, where that function returns a Publisher.
Flowable
honors the backpressure of the downstream consumer
and the Publisher
returned by the mapper function is expected to honor it as well.flatMapPublisher
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to the item emitted by the source Single, returns an Flowable |
---|
func
when applied to the item emitted by the source SingleReturns a Flowable that merges each item emitted by the source Single with the values in an Iterable corresponding to that item that is generated by a selector.
flattenAsFlowable
does not operate by default on a particular Scheduler
.mapper | a function that returns an Iterable sequence of values for when given an item emitted by the source Single |
---|
Returns an Observable that maps a success value into an Iterable and emits its items.
flattenAsObservable
does not operate by default on a particular Scheduler
.mapper | a function that returns an Iterable sequence of values for when given an item emitted by the source Single |
---|
Returns a Single
that invokes passed function and emits its result for each new SingleObserver that subscribes.
Allows you to defer execution of passed function until SingleObserver subscribes to the Single
.
It makes passed function "lazy".
Result of the function invocation will be emitted by the Single
.
fromCallable
does not operate by default on a particular Scheduler
.callable | function which execution should be deferred, it will be invoked when SingleObserver will subscribe to the Single . |
---|
Single
whose SingleObserver
s' subscriptions trigger an invocation of the given function.
Converts a Future
, operating on a specified Scheduler
, into a Single
.
You can convert any object that supports the Future
interface into a Single
that emits
the return value of the get()
method of that object, by passing the object into the
from
method.
Scheduler
this operator will usefuture | the source Future |
---|---|
scheduler | the Scheduler to wait for the Future on. Use a Scheduler such as
io() that can block and wait on the Future |
Single
that emits the item from the source Future
Converts a Future
into a Single
, with a timeout on the Future.
You can convert any object that supports the Future
interface into a Single
that emits
the return value of the get()
method of that object, by passing the object into the
from
method.
Important note: This Single
is blocking; you cannot dispose it.
Scheduler
where the blocking wait will happen.future | the source Future |
---|---|
timeout | the maximum time to wait before calling get |
unit | the TimeUnit of the timeout argument |
scheduler | the Scheduler to use for the blocking wait |
Single
that emits the item from the source Future
Converts a Future
into a Single
.
You can convert any object that supports the Future
interface into a Single that emits the return
value of the get()
method of that object, by passing the object into the from
method.
Important note: This Single is blocking; you cannot dispose it.
fromFuture
does not operate by default on a particular Scheduler
.future | the source Future |
---|
Single
that emits the item from the source Future
Converts a Future
into a Single
, with a timeout on the Future.
You can convert any object that supports the Future
interface into a Single
that emits
the return value of the get()
method of that object, by passing the object into the
from
method.
Important note: This Single
is blocking; you cannot dispose it.
fromFuture
does not operate by default on a particular Scheduler
.future | the source Future |
---|---|
timeout | the maximum time to wait before calling get |
unit | the TimeUnit of the timeout argument |
Single
that emits the item from the source Future
Wraps a specific ObservableSource into a Single and signals its single element or error.
If the ObservableSource is empty, a NoSuchElementException is signalled. If the source has more than one element, an IndexOutOfBoundsException is signalled.
fromObservable
does not operate by default on a particular Scheduler
.observableSource | the source Observable, not null |
---|
Wraps a specific Publisher into a Single and signals its single element or error.
If the source Publisher is empty, a NoSuchElementException is signalled. If the source has more than one element, an IndexOutOfBoundsException is signalled.
publisher
is consumed in an unbounded fashion but will be cancelled
if it produced more than one item.fromPublisher
does not operate by default on a particular Scheduler
.publisher | the source Publisher instance, not null |
---|
Hides the identity of the current Single, including the Disposable that is sent
to the downstream via onSubscribe()
.
hide
does not operate by default on a particular Scheduler
.Returns a Single
that emits a specified item.
To convert any object into a Single
that emits that object, pass that object into the
just
method.
just
does not operate by default on a particular Scheduler
.item | the item to emit |
---|
Single
that emits item
Lifts a function to the current Single and returns a new Single that when subscribed to will pass the values of the current Single through the Operator function.
In other words, this allows chaining TaskExecutors together on a Single for acting on the values within the Single.
task.map(...).filter(...).lift(new OperatorA()).lift(new OperatorB(...)).subscribe()
If the operator you are creating is designed to act on the item emitted by a source Single, use
lift
. If your operator is designed to transform the source Single as a whole (for instance, by
applying a particular set of existing RxJava operators to it) use compose(SingleTransformer super T, ? extends R>)
.
lift
does not operate by default on a particular Scheduler
.lift | the Operator that implements the Single-operating function to be applied to the source Single |
---|
Returns a Single that applies a specified function to the item emitted by the source Single and emits the result of this function application.
map
does not operate by default on a particular Scheduler
.mapper | a function to apply to the item emitted by the Single |
---|
Merges an Iterable sequence of SingleSource instances into a single Flowable sequence, running all SingleSources at once.
Flowable
honors the backpressure of the downstream consumer.merge
does not operate by default on a particular Scheduler
.sources | the Iterable sequence of SingleSource sources |
---|
Flattens four Singles into a single Flowable, without any transformation.
You can combine items emitted by multiple Singles so that they appear as a single Flowable, by using
the merge
method.
Flowable
honors the backpressure of the downstream consumer.merge
does not operate by default on a particular Scheduler
.source1 | a Single to be merged |
---|---|
source2 | a Single to be merged |
source3 | a Single to be merged |
source4 | a Single to be merged |
Flattens two Singles into a single Flowable, without any transformation.
You can combine items emitted by multiple Singles so that they appear as a single Flowable, by
using the merge
method.
Flowable
honors the backpressure of the downstream consumer.merge
does not operate by default on a particular Scheduler
.source1 | a Single to be merged |
---|---|
source2 | a Single to be merged |
Flattens three Singles into a single Flowable, without any transformation.
You can combine items emitted by multiple Singles so that they appear as a single Flowable, by using
the merge
method.
Flowable
honors the backpressure of the downstream consumer.merge
does not operate by default on a particular Scheduler
.source1 | a Single to be merged |
---|---|
source2 | a Single to be merged |
source3 | a Single to be merged |
Merges a Flowable sequence of SingleSource instances into a single Flowable sequence, running all SingleSources at once.
Flowable
honors the backpressure of the downstream consumer.merge
does not operate by default on a particular Scheduler
.sources | the Flowable sequence of SingleSource sources |
---|
Flattens a Single
that emits a Single
into a single Single
that emits the item
emitted by the nested Single
, without any transformation.
merge
does not operate by default on a particular Scheduler
.source | a Single that emits a Single |
---|
Single
that emits the item that is the result of flattening the Single
emitted
by source
Flattens this and another Single into a single Flowable, without any transformation.
You can combine items emitted by multiple Singles so that they appear as a single Flowable, by using
the mergeWith
method.
Flowable
honors the backpressure of the downstream consumer.mergeWith
does not operate by default on a particular Scheduler
.other | a Single to be merged |
---|
Returns a singleton instance of a never-signalling Single (only calls onSubscribe).
never
does not operate by default on a particular Scheduler
.Modifies a Single to emit its item (or notify of its error) on a specified Scheduler
,
asynchronously.
Scheduler
this operator will usescheduler | the Scheduler to notify subscribers on |
---|
Scheduler
Instructs a Single to pass control to another Single rather than invoking
onError(Throwable)
if it encounters an error.
SingleObserver
, the Single invokes its SingleObserver's onError
method, and then quits
without invoking any more of its SingleObserver's methods. The onErrorResumeNext
method changes this
behavior. If you pass another Single (resumeSingleInCaseOfError
) to a Single's
onErrorResumeNext
method, if the original Single encounters an error, instead of invoking its
SingleObserver's onError
method, it will instead relinquish control to resumeSingleInCaseOfError
which
will invoke the SingleObserver's onSuccess
method if it is able to do so. In such a case,
because no Single necessarily invokes onError
, the SingleObserver may never know that an error
happened.
You can use this to prevent errors from propagating or to supply fallback data should errors be
encountered.
onErrorResumeNext
does not operate by default on a particular Scheduler
.resumeSingleInCaseOfError | a Single that will take control if source Single encounters an error. |
---|
Instructs a Single to pass control to another Single rather than invoking
onError(Throwable)
if it encounters an error.
SingleObserver
, the Single invokes its SingleObserver's onError
method, and then quits
without invoking any more of its SingleObserver's methods. The onErrorResumeNext
method changes this
behavior. If you pass a function that will return another Single (resumeFunctionInCaseOfError
) to a Single's
onErrorResumeNext
method, if the original Single encounters an error, instead of invoking its
SingleObserver's onError
method, it will instead relinquish control to resumeSingleInCaseOfError
which
will invoke the SingleObserver's onSuccess
method if it is able to do so. In such a case,
because no Single necessarily invokes onError
, the SingleObserver may never know that an error
happened.
You can use this to prevent errors from propagating or to supply fallback data should errors be
encountered.
onErrorResumeNext
does not operate by default on a particular Scheduler
.resumeFunctionInCaseOfError | a function that returns a Single that will take control if source Single encounters an error. |
---|
Instructs a Single to emit an item (returned by a specified function) rather than invoking
onError
if it encounters an error.
By default, when a Single encounters an error that prevents it from emitting the expected item to its
subscriber, the Single invokes its subscriber's onError(Throwable)
method, and then quits
without invoking any more of its subscriber's methods. The onErrorReturn
method changes this
behavior. If you pass a function (resumeFunction
) to a Single's onErrorReturn
method, if
the original Single encounters an error, instead of invoking its subscriber's
onError(Throwable)
method, it will instead emit the return value of resumeFunction
.
You can use this to prevent errors from propagating or to supply fallback data should errors be encountered.
onErrorReturn
does not operate by default on a particular Scheduler
.resumeFunction | a function that returns an item that the new Single will emit if the source Single encounters an error |
---|
Signals the specified value as success in case the current Single signals an error.
onErrorReturnItem
does not operate by default on a particular Scheduler
.value | the value to signal if the current Single fails |
---|
Repeatedly re-subscribes to the current Single and emits each success value.
Flowable
honors the backpressure of the downstream consumer.repeat
does not operate by default on a particular Scheduler
.Re-subscribes to the current Single at most the given number of times and emits each success value.
Flowable
honors the backpressure of the downstream consumer.repeat
does not operate by default on a particular Scheduler
.times | the number of times to re-subscribe to the current Single |
---|
Re-subscribes to the current Single until the given BooleanSupplier returns true.
Flowable
honors the backpressure of the downstream consumer.repeatUntil
does not operate by default on a particular Scheduler
.stop | the BooleanSupplier called after the current Single succeeds and if returns false, the Single is re-subscribed; otherwise the sequence completes. |
---|
Re-subscribes to the current Single if the Publisher returned by the handler function signals a value in response to a value signalled through the Flowable the handle receives.
Flowable
honors the backpressure of the downstream consumer.
The Publisher
returned by the handler function is expected to honor backpressure as well.repeatWhen
does not operate by default on a particular Scheduler
.handler | the function that is called with a Flowable that signals a value when the Single signalled a success value and returns a Publisher that has to signal a value to trigger a resubscription to the current Single, otherwise the terminal signal of the Publisher will be the terminal signal of the sequence as well. |
---|
Re-subscribe to the current Single if the given predicate returns true when the Single fails with an onError.
retry
does not operate by default on a particular Scheduler
.predicate | the predicate called with the resubscription count and the failure Throwable and should return true if a resubscription should happen |
---|
Re-subscribe to the current Single if the given predicate returns true when the Single fails with an onError.
retry
does not operate by default on a particular Scheduler
.predicate | the predicate called with the failure Throwable and should return true if a resubscription should happen |
---|
Repeatedly re-subscribes to the current Single indefinitely if it fails with an onError.
retry
does not operate by default on a particular Scheduler
.Repeatedly re-subscribe at most the specified times to the current Single if it fails with an onError.
retry
does not operate by default on a particular Scheduler
.times | the number of times to resubscribe if the current Single fails |
---|
Re-subscribes to the current Single if and when the Publisher returned by the handler function signals a value.
If the Publisher signals an onComplete, the resulting Single will signal a NoSuchElementException.
retryWhen
does not operate by default on a particular Scheduler
.handler | the function that receives a Flowable of the error the Single emits and should return a Publisher that should signal a normal value (in response to the throwable the Flowable emits) to trigger a resubscription or signal an error to be the output of the resulting Single |
---|
Subscribes to a Single and provides a callback to handle the item it emits.
If the Single emits an error, it is wrapped into an
OnErrorNotImplementedException
and routed to the RxJavaPlugins.onError handler.
subscribe
does not operate by default on a particular Scheduler
.onSuccess | the Consumer<T> you have designed to accept the emission from the Single |
---|
Disposable
reference can request the Single
stop work.NullPointerException | if onSuccess is null |
---|
Subscribes to a Single and provides a composite callback to handle the item it emits or any error notification it issues.
subscribe
does not operate by default on a particular Scheduler
.onCallback | the callback that receives either the success value or the failure Throwable (whichever is not null) |
---|
Disposable
reference can request the Single
stop work.NullPointerException | if onCallback is null
|
---|
Subscribes the given SingleObserver to this SingleSource instance.
subscriber | the SingleObserver, not null |
---|
Subscribes to a Single and provides callbacks to handle the item it emits or any error notification it issues.
subscribe
does not operate by default on a particular Scheduler
.onSuccess | the Consumer<T> you have designed to accept the emission from the Single |
---|---|
onError | the Consumer<Throwable> you have designed to accept any error notification from the
Single |
Disposable
reference can request the Single
stop work.NullPointerException | if onSuccess is null, or
if onError is null
|
---|
Subscribes to a Single but ignore its emission or notification.
If the Single emits an error, it is wrapped into an
OnErrorNotImplementedException
and routed to the RxJavaPlugins.onError handler.
subscribe
does not operate by default on a particular Scheduler
.Disposable
reference can request the Single
stop work.Asynchronously subscribes subscribers to this Single on the specified Scheduler
.
Scheduler
this operator will usescheduler | the Scheduler to perform subscription actions on |
---|
Scheduler
Subscribes a given SingleObserver (subclass) to this Single and returns the given SingleObserver as is.
Usage example:
Single<Integer> source = Single.just(1);
CompositeDisposable composite = new CompositeDisposable();
class ResourceSingleObserver implements SingleObserver<Integer>, Disposable {
// ...
}
composite.add(source.subscribeWith(new ResourceSingleObserver()));
subscribeWith
does not operate by default on a particular Scheduler
.observer | the SingleObserver (subclass) to use and return, not null |
---|
observer
NullPointerException | if observer is null |
---|
Returns a Single that emits the item emitted by the source Single until a second Single emits an item. Upon
emission of an item from other
, this will emit a CancellationException rather than go to
onSuccess(Object)
.
takeUntil
does not operate by default on a particular Scheduler
.other | the Single whose emitted item will cause takeUntil to emit the item from the source Single |
---|
other
emits its itemReturns a Single that emits the item emitted by the source Single until a Publisher emits an item. Upon
emission of an item from other
, this will emit a CancellationException rather than go to
onSuccess(Object)
.
other
publisher is consumed in an unbounded fashion but will be
cancelled after the first item it produced.takeUntil
does not operate by default on a particular Scheduler
.other | the Publisher whose first emitted item will cause takeUntil to emit the item from the source
Single |
---|
other
emits
its first itemReturns a Single that emits the item emitted by the source Single until a Completable terminates. Upon
termination of other
, this will emit a CancellationException rather than go to
onSuccess(Object)
.
takeUntil
does not operate by default on a particular Scheduler
.other | the Completable whose termination will cause takeUntil to emit the item from the source
Single |
---|
other
terminates.Creates a TestObserver optionally in cancelled state, then subscribes it to this Single.
test
does not operate by default on a particular Scheduler
.cancelled | if true, the TestObserver will be cancelled before subscribing to this Single. |
---|
Creates a TestObserver and subscribes it to this Single.
test
does not operate by default on a particular Scheduler
.Signals a TimeoutException if the current Single doesn't signal a success value within the specified timeout window.
timeout
signals the TimeoutException on the computation
Scheduler
.timeout | the timeout amount |
---|---|
unit | the time unit |
Runs the current Single and if it doesn't signal within the specified timeout window, it is cancelled and the other SingleSource subscribed to.
timeout
subscribes to the other SingleSource on the Scheduler
you specify.timeout | the timeout amount |
---|---|
unit | the time unit |
scheduler | the scheduler where the timeout is awaited and the subscription to other happens |
other | the other SingleSource that gets subscribed to if the current Single times out |
Runs the current Single and if it doesn't signal within the specified timeout window, it is cancelled and the other SingleSource subscribed to.
timeout
subscribes to the other SingleSource on
the computation
Scheduler
.timeout | the timeout amount |
---|---|
unit | the time unit |
other | the other SingleSource that gets subscribed to if the current Single times out |
Signals a TimeoutException if the current Single doesn't signal a success value within the specified timeout window.
timeout
signals the TimeoutException on the Scheduler
you specify.timeout | the timeout amount |
---|---|
unit | the time unit |
scheduler | the target scheduler where the timeout is awaited and the TimeoutException signalled |
Signals success with 0L value after the given delay for each SingleObserver.
Scheduler
to signal on.delay | the delay amount |
---|---|
unit | the time unit of the delay |
scheduler | the scheduler where the single 0L will be emitted |
Signals success with 0L value after the given delay for each SingleObserver.
timer
operates by default on the computation
Scheduler
.delay | the delay amount |
---|---|
unit | the time unit of the delay |
Calls the specified converter function with the current Single instance during assembly time and returns its result.
to
does not operate by default on a particular Scheduler
.convert | the function that is called with the current Single instance during assembly time that should return some value to be the result |
---|
Returns a Completable
that discards result of the Single
and calls onComplete
when this source Single
calls
onSuccess
. Error terminal event is propagated.
toCompletable
does not operate by default on a particular Scheduler
.Completable
that calls onComplete
on it's subscriber when the source Single
calls onSuccess
.Converts this Single into an Observable
.
toObservable
does not operate by default on a particular Scheduler
.Observable
that emits a single item T or an error.
Advanced use only: creates a Single instance without any safeguards by using a callback that is called with a SingleObserver.
unsafeCreate
does not operate by default on a particular Scheduler
.onSubscribe | the function that is called with the subscribing SingleObserver |
---|
IllegalArgumentException | if source is a subclass of Single ; such
instances don't need conversion and is possibly a port remnant from 1.x or one should use hide()
instead. |
---|
Returns a Single which makes sure when a SingleObserver disposes the Disposable, that call is propagated up on the specified scheduler
unsubscribeOn
calls dispose() of the upstream on the Scheduler
you specify.scheduler | the target scheduler where to execute the cancellation |
---|
NullPointerException | if scheduler is null |
---|
Allows using and disposing a resource while running a SingleSource instance generated from that resource (similar to a try-with-resources).
using
does not operate by default on a particular Scheduler
.resourceSupplier | the Callable called for each SingleObserver to generate a resource Object |
---|---|
singleFunction | the function called with the returned resource
Object from resourceSupplier and should return a SingleSource instance
to be run by the operator |
disposer | the consumer of the generated resource that is called exactly once for that particular resource when the generated SingleSource terminates (successfully or with an error) or gets cancelled. |
eager | if true, the disposer is called before the terminal event is signalled if false, the disposer is called after the terminal event is delivered to downstream |
Allows using and disposing a resource while running a SingleSource instance generated from that resource (similar to a try-with-resources).
using
does not operate by default on a particular Scheduler
.resourceSupplier | the Callable called for each SingleObserver to generate a resource Object |
---|---|
singleFunction | the function called with the returned resource
Object from resourceSupplier and should return a SingleSource instance
to be run by the operator |
disposer | the consumer of the generated resource that is called exactly once for that particular resource when the generated SingleSource terminates (successfully or with an error) or gets cancelled. |
Wraps a SingleSource instance into a new Single instance if not already a Single instance.
wrap
does not operate by default on a particular Scheduler
.source | the source to wrap |
---|
Returns a Single that emits the results of a specified combiner function applied to five items emitted by five other Singles.
zip
does not operate by default on a particular Scheduler
.source1 | the first source Single |
---|---|
source2 | a second source Single |
source3 | a third source Single |
source4 | a fourth source Single |
source5 | a fifth source Single |
zipper | a function that, when applied to the item emitted by each of the source Singles, results in an item that will be emitted by the resulting Single |
Returns a Single that emits the results of a specified combiner function applied to eight items emitted by eight other Singles.
zip
does not operate by default on a particular Scheduler
.source1 | the first source Single |
---|---|
source2 | a second source Single |
source3 | a third source Single |
source4 | a fourth source Single |
source5 | a fifth source Single |
source6 | a sixth source Single |
source7 | a seventh source Single |
source8 | an eighth source Single |
zipper | a function that, when applied to the item emitted by each of the source Singles, results in an item that will be emitted by the resulting Single |
Returns a Single that emits the results of a specified combiner function applied to seven items emitted by seven other Singles.
zip
does not operate by default on a particular Scheduler
.source1 | the first source Single |
---|---|
source2 | a second source Single |
source3 | a third source Single |
source4 | a fourth source Single |
source5 | a fifth source Single |
source6 | a sixth source Single |
source7 | a seventh source Single |
zipper | a function that, when applied to the item emitted by each of the source Singles, results in an item that will be emitted by the resulting Single |
Returns a Single that emits the results of a specified combiner function applied to four items emitted by four other Singles.
zip
does not operate by default on a particular Scheduler
.source1 | the first source Single |
---|---|
source2 | a second source Single |
source3 | a third source Single |
source4 | a fourth source Single |
zipper | a function that, when applied to the item emitted by each of the source Singles, results in an item that will be emitted by the resulting Single |
Returns a Single that emits the results of a specified combiner function applied to nine items emitted by nine other Singles.
zip
does not operate by default on a particular Scheduler
.source1 | the first source Single |
---|---|
source2 | a second source Single |
source3 | a third source Single |
source4 | a fourth source Single |
source5 | a fifth source Single |
source6 | a sixth source Single |
source7 | a seventh source Single |
source8 | an eighth source Single |
source9 | a ninth source Single |
zipper | a function that, when applied to the item emitted by each of the source Singles, results in an item that will be emitted by the resulting Single |
Returns a Single that emits the results of a specified combiner function applied to three items emitted by three other Singles.
zip
does not operate by default on a particular Scheduler
.source1 | the first source Single |
---|---|
source2 | a second source Single |
source3 | a third source Single |
zipper | a function that, when applied to the item emitted by each of the source Singles, results in an item that will be emitted by the resulting Single |
Returns a Single that emits the results of a specified combiner function applied to two items emitted by two other Singles.
zip
does not operate by default on a particular Scheduler
.source1 | the first source Single |
---|---|
source2 | a second source Single |
zipper | a function that, when applied to the item emitted by each of the source Singles, results in an item that will be emitted by the resulting Single |
Returns a Single that emits the results of a specified combiner function applied to six items emitted by six other Singles.
zip
does not operate by default on a particular Scheduler
.source1 | the first source Single |
---|---|
source2 | a second source Single |
source3 | a third source Single |
source4 | a fourth source Single |
source5 | a fifth source Single |
source6 | a sixth source Single |
zipper | a function that, when applied to the item emitted by each of the source Singles, results in an item that will be emitted by the resulting Single |
Waits until all SingleSource sources provided by the Iterable sequence signal a success value and calls a zipper function with an array of these values to return a result to be emitted to downstream.
Note on method signature: since Java doesn't allow creating a generic array with new T[]
, the
implementation of this operator has to create an Object[]
instead. Unfortunately, a
Function<Integer[], R>
passed to the method would trigger a ClassCastException
.
If any of the SingleSources signal an error, all other SingleSources get cancelled and the error emitted to downstream immediately.
zip
does not operate by default on a particular Scheduler
.sources | the Iterable sequence of SingleSource instances |
---|---|
zipper | the function that receives an array with values from each SingleSource and should return a value to be emitted to downstream |
Waits until all SingleSource sources provided via an array signal a success value and calls a zipper function with an array of these values to return a result to be emitted to downstream.
Note on method signature: since Java doesn't allow creating a generic array with new T[]
, the
implementation of this operator has to create an Object[]
instead. Unfortunately, a
Function<Integer[], R>
passed to the method would trigger a ClassCastException
.
If any of the SingleSources signal an error, all other SingleSources get cancelled and the error emitted to downstream immediately.
zipArray
does not operate by default on a particular Scheduler
.zipper | the function that receives an array with values from each SingleSource and should return a value to be emitted to downstream |
---|---|
sources | the array of SingleSource instances |
Returns a Single that emits the result of applying a specified function to the pair of items emitted by the source Single and another specified Single.
zipWith
does not operate by default on a particular Scheduler
.other | the other SingleSource |
---|---|
zipper | a function that combines the pairs of items from the two SingleSources to generate the items to be emitted by the resulting Single |
other
SingleSource
and emits the results of zipFunction
applied to these pairsOverride this method in subclasses to handle the incoming SingleObservers.
observer | the SingleObserver to handle, not null |
---|