T - the type of the item emitted by the Single
@Experimental public class Single<T> extends Object
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.
| Modifier and Type | Class and Description |
|---|---|
static interface |
Single
Invoked when Single.execute is called.
|
static interface |
Single
Transformer function used by
compose(rx.Single.Transformer<? super T, ? extends R>).
|
| Modifier | Constructor and Description |
|---|---|
protected |
Single(Single
Creates a Single with a Function to execute when it is subscribed to (executed).
|
| Modifier and Type | Method and Description |
|---|---|
<R> Single |
compose(Single
Transform a Single by applying a particular Transformer function to it.
|
static <T> Observable |
concat(Single
Returns an Observable that emits the items emitted by two Singles, one after the other.
|
static <T> Observable |
concat(Single
Returns an Observable that emits the items emitted by three Singles, one after the other.
|
static <T> Observable |
concat(Single
Returns an Observable that emits the items emitted by four Singles, one after the other.
|
static <T> Observable |
concat(Single
Returns an Observable that emits the items emitted by five Singles, one after the other.
|
static <T> Observable |
concat(Single
Returns an Observable that emits the items emitted by six Singles, one after the other.
|
static <T> Observable |
concat(Single
Returns an Observable that emits the items emitted by seven Singles, one after the other.
|
static <T> Observable |
concat(Single
Returns an Observable that emits the items emitted by eight Singles, one after the other.
|
static <T> Observable |
concat(Single
Returns an Observable that emits the items emitted by nine Singles, one after the other.
|
Observable |
concatWith(Single
Returns an Observable that emits the item emitted by the source Single, then the item emitted by the specified Single.
|
static <T> Single |
create(Single
Returns a Single that will execute the specified function when a
SingleSubscriber executes it or a
Subscriber subscribes to it.
|
static <T> Single |
defer(Callable
|
Single |
delay(long delay, TimeUnit
Returns an Single that emits the items emitted by the source Single shifted forward in time by a specified delay.
|
Single |
delay(long delay, TimeUnit
Returns an Single that emits the items emitted by the source Single shifted forward in time by a specified delay.
|
Single |
doOnError(Action1
Modifies the source
Single so that it invokes an action if it calls
onError.
|
Single |
doOnSuccess(Action1
Modifies the source
Single so that it invokes an action when it calls
onSuccess.
|
static <T> Single |
error(Throwable
Returns a Single that invokes a subscriber's
onError method when the subscriber subscribes to it.
|
<R> Single |
flatMap(Func1
Returns a Single that is based on applying a specified function to the item emitted by the source Single, where that function returns a Single.
|
<R> Observable |
flatMapObservable(Func1
Returns an Observable that emits items based on applying a specified function to the item emitted by the source Observable, where that function returns an Observable.
|
static <T> Single |
from(Future
Converts a
Future into a
Single.
|
static <T> Single |
from(Future
Converts a
Future into a
Single, with a timeout on the Future.
|
static <T> Single |
from(Future
|
static <T> Single |
fromCallable(Callable
Returns a
Single that invokes passed function and emits its result for each new Observer that subscribes.
|
static <T> Single |
just(T value)
Returns a
Single that emits a specified item.
|
<R> Single |
map(Func1
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> Single |
merge(Single
Flattens a
Single that emits a
Single into a single
Single that emits the item emitted by the nested
Single, without any transformation.
|
static <T> Observable |
merge(Single
Flattens two Singles into a single Observable, without any transformation.
|
static <T> Observable |
merge(Single
Flattens three Singles into a single Observable, without any transformation.
|
static <T> Observable |
merge(Single
Flattens four Singles into a single Observable, without any transformation.
|
static <T> Observable |
merge(Single
Flattens five Singles into a single Observable, without any transformation.
|
static <T> Observable |
merge(Single
Flattens six Singles into a single Observable, without any transformation.
|
static <T> Observable |
merge(Single
Flattens seven Singles into a single Observable, without any transformation.
|
static <T> Observable |
merge(Single
Flattens eight Singles into a single Observable, without any transformation.
|
static <T> Observable |
merge(Single
Flattens nine Singles into a single Observable, without any transformation.
|
Observable |
mergeWith(Single
Flattens this and another Single into a single Observable, without any transformation.
|
Single |
observeOn(Scheduler
Modifies a Single to emit its item (or notify of its error) on a specified
Scheduler, asynchronously.
|
Single |
onErrorReturn(Func1
Instructs a Single to emit an item (returned by a specified function) rather than invoking
onError if it encounters an error.
|
Subscription |
subscribe()
Subscribes to a Single but ignore its emission or notification.
|
Subscription |
subscribe(Action1
Subscribes to a Single and provides a callback to handle the item it emits.
|
Subscription |
subscribe(Action1
Subscribes to a Single and provides callbacks to handle the item it emits or any error notification it issues.
|
Subscription |
subscribe(SingleSubscriber
Subscribes to a Single and provides a
SingleSubscriber that implements functions to handle the item the Single emits or any error notification it issues.
|
Subscription |
subscribe(Subscriber
Subscribes to a Single and provides a Subscriber that implements functions to handle the item the Single emits or any error notification it issues.
|
Single |
subscribeOn(Scheduler
Asynchronously subscribes subscribers to this Single on the specified
Scheduler.
|
Single |
timeout(long timeout, TimeUnit
Returns a Single that mirrors the source Single but applies a timeout policy for its emitted item.
|
Single |
timeout(long timeout, TimeUnit
Returns a Single that mirrors the source Single but applies a timeout policy for its emitted item, where this policy is governed on a specified Scheduler.
|
Single |
timeout(long timeout, TimeUnit
Returns a Single that mirrors the source Single but applies a timeout policy for its emitted item.
|
Single |
timeout(long timeout, TimeUnit
Returns a Single that mirrors the source Single but applies a timeout policy for its emitted item, using a specified Scheduler.
|
BlockingSingle |
toBlocking()
Converts a Single into a
BlockingSingle (a Single with blocking operators).
|
Observable |
toObservable()
Converts this Single into an
Observable.
|
void |
unsafeSubscribe(Subscriber
Subscribes to a Single and invokes the
Single.OnSubscribe function without any contract protection, error handling, unsubscribe, or execution hooks.
|
static <T1 |
zip(Single
Returns a Single that emits the results of a specified combiner function applied to two items emitted by two other Singles.
|
static <T1 |
zip(Single
Returns a Single that emits the results of a specified combiner function applied to three items emitted by three other Singles.
|
static <T1 |
zip(Single
Returns an Observable that emits the results of a specified combiner function applied to four items emitted by four other Singles.
|
static <T1 |
zip(Single
Returns an Observable that emits the results of a specified combiner function applied to five items emitted by five other Singles.
|
static <T1 |
zip(Single
Returns an Observable that emits the results of a specified combiner function applied to six items emitted by six other Singles.
|
static <T1 |
zip(Single
Returns an Observable that emits the results of a specified combiner function applied to seven items emitted by seven other Singles.
|
static <T1 |
zip(Single
Returns an Observable that emits the results of a specified combiner function applied to eight items emitted by eight other Singles.
|
static <T1 |
zip(Single
Returns an Observable that emits the results of a specified combiner function applied to nine items emitted by nine other Singles.
|
<T2 |
zipWith(Single
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 Single(Single.OnSubscribe <T> f)
Note: Use create(OnSubscribe) to create a Single, instead of this constructor, unless you specifically have a need for inheritance.
f -
OnExecute to be executed when
execute(SingleSubscriber) or
subscribe(Subscriber) is called
public static final <T> Single<T> create(Single .OnSubscribe <T> f)
SingleSubscriber executes it or a
Subscriber subscribes to it.
Write the function you pass to create so that it behaves as a Single: It should invoke the SingleSubscriber onSuccess and/or onError methods appropriately.
A well-formed Single must invoke either the SingleSubscriber's onSuccess method exactly once or its onError method exactly once.
create does not operate by default on a particular
Scheduler.
T - the type of the item that this Single emits
f - a function that accepts an
SingleSubscriber<T>, and invokes its
onSuccess or
onError methods as appropriate
Subscriber subscribes to it, will execute the specified function
public <R> Single<R> compose(Single .Transformer <? super T ,? extends R> transformer)
This method operates on the Single itself whereas lift(rx.Observable.Operator<? extends R, ? super T>) operates on the Single's Subscribers or Observers.
If the operator you are creating is designed to act on the individual item emitted by a Single, use lift(rx.Observable.Operator<? 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 - implements the function that transforms the source Single
public static final <T> Observable<T> concat(Single <? extends T> t1, Single <? extends T> t2)
concat does not operate by default on a particular
Scheduler.
t1 - an Single to be concatenated
t2 - an Single to be concatenated
public static final <T> Observable<T> concat(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3)
concat does not operate by default on a particular
Scheduler.
t1 - a Single to be concatenated
t2 - a Single to be concatenated
t3 - a Single to be concatenated
public static final <T> Observable<T> concat(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4)
concat does not operate by default on a particular
Scheduler.
t1 - a Single to be concatenated
t2 - a Single to be concatenated
t3 - a Single to be concatenated
t4 - a Single to be concatenated
public static final <T> Observable<T> concat(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4, Single <? extends T> t5)
concat does not operate by default on a particular
Scheduler.
t1 - a Single to be concatenated
t2 - a Single to be concatenated
t3 - a Single to be concatenated
t4 - a Single to be concatenated
t5 - a Single to be concatenated
public static final <T> Observable<T> concat(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4, Single <? extends T> t5, Single <? extends T> t6)
concat does not operate by default on a particular
Scheduler.
t1 - a Single to be concatenated
t2 - a Single to be concatenated
t3 - a Single to be concatenated
t4 - a Single to be concatenated
t5 - a Single to be concatenated
t6 - a Single to be concatenated
public static final <T> Observable<T> concat(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4, Single <? extends T> t5, Single <? extends T> t6, Single <? extends T> t7)
concat does not operate by default on a particular
Scheduler.
t1 - a Single to be concatenated
t2 - a Single to be concatenated
t3 - a Single to be concatenated
t4 - a Single to be concatenated
t5 - a Single to be concatenated
t6 - a Single to be concatenated
t7 - a Single to be concatenated
public static final <T> Observable<T> concat(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4, Single <? extends T> t5, Single <? extends T> t6, Single <? extends T> t7, Single <? extends T> t8)
concat does not operate by default on a particular
Scheduler.
t1 - a Single to be concatenated
t2 - a Single to be concatenated
t3 - a Single to be concatenated
t4 - a Single to be concatenated
t5 - a Single to be concatenated
t6 - a Single to be concatenated
t7 - a Single to be concatenated
t8 - a Single to be concatenated
public static final <T> Observable<T> concat(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4, Single <? extends T> t5, Single <? extends T> t6, Single <? extends T> t7, Single <? extends T> t8, Single <? extends T> t9)
concat does not operate by default on a particular
Scheduler.
t1 - a Single to be concatenated
t2 - a Single to be concatenated
t3 - a Single to be concatenated
t4 - a Single to be concatenated
t5 - a Single to be concatenated
t6 - a Single to be concatenated
t7 - a Single to be concatenated
t8 - a Single to be concatenated
t9 - a Single to be concatenated
public static final <T> Single<T> error(Throwable exception)
onError method when the subscriber subscribes to it.
error does not operate by default on a particular
Scheduler.
T - the type of the item (ostensibly) emitted by the Single
exception - the particular Throwable to pass to
onError
onError method when the subscriber subscribes to it
public static final <T> Single<T> from(Future <? extends T> future)
Future into a
Single.
You can convert any object that supports the Future interface into a Single that emits the return value of the Future method of that object, by passing the object into the from method.
Important note: This Single is blocking; you cannot unsubscribe from it.
from does not operate by default on a particular
Scheduler.
T - the type of object that the
Future returns, and also the type of item to be emitted by the resulting
Single
future - the source
Future
Single that emits the item from the source
Future
public static final <T> Single<T> from(Future <? extends T> future, long timeout, TimeUnit unit)
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 Future method of that object, by passing the object into the from method.
Important note: This Single is blocking; you cannot unsubscribe from it.
from does not operate by default on a particular
Scheduler.
T - the type of object that the
Future returns, and also the type of item to be emitted by the resulting
Single
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
public static final <T> Single<T> from(Future <? extends T> future, Scheduler scheduler)
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 Future method of that object, by passing the object into the from method.
Scheduler this operator will use
T - the type of object that the
Future returns, and also the type of item to be emitted by the resulting
Single
future - the source
Future
scheduler - the
Scheduler to wait for the Future on. Use a Scheduler such as
Schedulers.io() that can block and wait on the Future
Single that emits the item from the source
Future
@Experimental public static <T> Single<T> fromCallable(Callable <? extends T> func)
Single that invokes passed function and emits its result for each new Observer that subscribes.
Allows you to defer execution of passed function until Observer 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.
public static final <T> Single<T> just(T value)
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.
T - the type of that item
value - the item to emit
Single that emits
value
public static final <T> Single<T> merge(Single <? extends Single <? extends T>> source)
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
public static final <T> Observable<T> merge(Single <? extends T> t1, Single <? extends T> t2)
You can combine items emitted by multiple Singles so that they appear as a single Observable, by using the merge method.
merge does not operate by default on a particular
Scheduler.
t1 - a Single to be merged
t2 - a Single to be merged
public static final <T> Observable<T> merge(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3)
You can combine items emitted by multiple Singles so that they appear as a single Observable, by using the merge method.
merge does not operate by default on a particular
Scheduler.
t1 - a Single to be merged
t2 - a Single to be merged
t3 - a Single to be merged
public static final <T> Observable<T> merge(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4)
You can combine items emitted by multiple Singles so that they appear as a single Observable, by using the merge method.
merge does not operate by default on a particular
Scheduler.
t1 - a Single to be merged
t2 - a Single to be merged
t3 - a Single to be merged
t4 - a Single to be merged
public static final <T> Observable<T> merge(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4, Single <? extends T> t5)
You can combine items emitted by multiple Singles so that they appear as a single Observable, by using the merge method.
merge does not operate by default on a particular
Scheduler.
t1 - a Single to be merged
t2 - a Single to be merged
t3 - a Single to be merged
t4 - a Single to be merged
t5 - a Single to be merged
public static final <T> Observable<T> merge(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4, Single <? extends T> t5, Single <? extends T> t6)
You can combine items emitted by multiple Singles so that they appear as a single Observable, by using the merge method.
merge does not operate by default on a particular
Scheduler.
t1 - a Single to be merged
t2 - a Single to be merged
t3 - a Single to be merged
t4 - a Single to be merged
t5 - a Single to be merged
t6 - a Single to be merged
public static final <T> Observable<T> merge(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4, Single <? extends T> t5, Single <? extends T> t6, Single <? extends T> t7)
You can combine items emitted by multiple Singles so that they appear as a single Observable, by using the merge method.
merge does not operate by default on a particular
Scheduler.
t1 - a Single to be merged
t2 - a Single to be merged
t3 - a Single to be merged
t4 - a Single to be merged
t5 - a Single to be merged
t6 - a Single to be merged
t7 - a Single to be merged
public static final <T> Observable<T> merge(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4, Single <? extends T> t5, Single <? extends T> t6, Single <? extends T> t7, Single <? extends T> t8)
You can combine items emitted by multiple Singles so that they appear as a single Observable, by using the merge method.
merge does not operate by default on a particular
Scheduler.
t1 - a Single to be merged
t2 - a Single to be merged
t3 - a Single to be merged
t4 - a Single to be merged
t5 - a Single to be merged
t6 - a Single to be merged
t7 - a Single to be merged
t8 - a Single to be merged
public static final <T> Observable<T> merge(Single <? extends T> t1, Single <? extends T> t2, Single <? extends T> t3, Single <? extends T> t4, Single <? extends T> t5, Single <? extends T> t6, Single <? extends T> t7, Single <? extends T> t8, Single <? extends T> t9)
You can combine items emitted by multiple Singles so that they appear as a single Observable, by using the merge method.
merge does not operate by default on a particular
Scheduler.
t1 - a Single to be merged
t2 - a Single to be merged
t3 - a Single to be merged
t4 - a Single to be merged
t5 - a Single to be merged
t6 - a Single to be merged
t7 - a Single to be merged
t8 - a Single to be merged
t9 - a Single to be merged
public static final <T1,T2 ,R> Single <R> zip(Single <? extends T1> o1, Single <? extends T2> o2, Func2 <? super T1 ,? super T2 ,? extends R> zipFunction)
zip does not operate by default on a particular
Scheduler.
o1 - the first source Single
o2 - a second source Single
zipFunction - 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
public static final <T1,T2 ,T3 ,R> Single <R> zip(Single <? extends T1> o1, Single <? extends T2> o2, Single <? extends T3> o3, Func3 <? super T1 ,? super T2 ,? super T3 ,? extends R> zipFunction)
zip does not operate by default on a particular
Scheduler.
o1 - the first source Single
o2 - a second source Single
o3 - a third source Single
zipFunction - 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
public static final <T1,T2 ,T3 ,T4 ,R> Single <R> zip(Single <? extends T1> o1, Single <? extends T2> o2, Single <? extends T3> o3, Single <? extends T4> o4, Func4 <? super T1 ,? super T2 ,? super T3 ,? super T4 ,? extends R> zipFunction)
zip does not operate by default on a particular
Scheduler.
o1 - the first source Single
o2 - a second source Single
o3 - a third source Single
o4 - a fourth source Single
zipFunction - 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
public static final <T1,T2 ,T3 ,T4 ,T5 ,R> Single <R> zip(Single <? extends T1> o1, Single <? extends T2> o2, Single <? extends T3> o3, Single <? extends T4> o4, Single <? extends T5> o5, Func5 <? super T1 ,? super T2 ,? super T3 ,? super T4 ,? super T5 ,? extends R> zipFunction)
zip does not operate by default on a particular
Scheduler.
o1 - the first source Single
o2 - a second source Single
o3 - a third source Single
o4 - a fourth source Single
o5 - a fifth source Single
zipFunction - 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
public static final <T1,T2 ,T3 ,T4 ,T5 ,T6 ,R> Single <R> zip(Single <? extends T1> o1, Single <? extends T2> o2, Single <? extends T3> o3, Single <? extends T4> o4, Single <? extends T5> o5, Single <? extends T6> o6, Func6 <? super T1 ,? super T2 ,? super T3 ,? super T4 ,? super T5 ,? super T6 ,? extends R> zipFunction)
zip does not operate by default on a particular
Scheduler.
o1 - the first source Single
o2 - a second source Single
o3 - a third source Single
o4 - a fourth source Single
o5 - a fifth source Single
o6 - a sixth source Single
zipFunction - 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
public static final <T1,T2 ,T3 ,T4 ,T5 ,T6 ,T7 ,R> Single <R> zip(Single <? extends T1> o1, Single <? extends T2> o2, Single <? extends T3> o3, Single <? extends T4> o4, Single <? extends T5> o5, Single <? extends T6> o6, Single <? extends T7> o7, Func7 <? super T1 ,? super T2 ,? super T3 ,? super T4 ,? super T5 ,? super T6 ,? super T7 ,? extends R> zipFunction)
zip does not operate by default on a particular
Scheduler.
o1 - the first source Single
o2 - a second source Single
o3 - a third source Single
o4 - a fourth source Single
o5 - a fifth source Single
o6 - a sixth source Single
o7 - a seventh source Single
zipFunction - 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
public static final <T1,T2 ,T3 ,T4 ,T5 ,T6 ,T7 ,T8 ,R> Single <R> zip(Single <? extends T1> o1, Single <? extends T2> o2, Single <? extends T3> o3, Single <? extends T4> o4, Single <? extends T5> o5, Single <? extends T6> o6, Single <? extends T7> o7, Single <? extends T8> o8, Func8 <? super T1 ,? super T2 ,? super T3 ,? super T4 ,? super T5 ,? super T6 ,? super T7 ,? super T8 ,? extends R> zipFunction)
zip does not operate by default on a particular
Scheduler.
o1 - the first source Single
o2 - a second source Single
o3 - a third source Single
o4 - a fourth source Single
o5 - a fifth source Single
o6 - a sixth source Single
o7 - a seventh source Single
o8 - an eighth source Single
zipFunction - 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
public static final <T1,T2 ,T3 ,T4 ,T5 ,T6 ,T7 ,T8 ,T9 ,R> Single <R> zip(Single <? extends T1> o1, Single <? extends T2> o2, Single <? extends T3> o3, Single <? extends T4> o4, Single <? extends T5> o5, Single <? extends T6> o6, Single <? extends T7> o7, Single <? extends T8> o8, Single <? extends T9> o9, Func9 <? super T1 ,? super T2 ,? super T3 ,? super T4 ,? super T5 ,? super T6 ,? super T7 ,? super T8 ,? super T9 ,? extends R> zipFunction)
zip does not operate by default on a particular
Scheduler.
o1 - the first source Single
o2 - a second source Single
o3 - a third source Single
o4 - a fourth source Single
o5 - a fifth source Single
o6 - a sixth source Single
o7 - a seventh source Single
o8 - an eighth source Single
o9 - a ninth source Single
zipFunction - 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
public final Observable<T> concatWith(Single <? extends T> t1)
concat does not operate by default on a particular
Scheduler.
t1 - a Single to be concatenated after the current
t1
public final <R> Single<R> flatMap(Func1 <? super T ,? extends Single <? extends R>> func)
flatMap does not operate by default on a particular
Scheduler.
func - a function that, when applied to the item emitted by the source Single, returns a Single
func when applied to the item emitted by the source Single
public final <R> Observable<R> flatMapObservable(Func1 <? super T ,? extends Observable <? extends R>> func)
flatMapObservable does not operate by default on a particular
Scheduler.
func - a function that, when applied to the item emitted by the source Single, returns an Observable
func when applied to the item emitted by the source Single
public final <R> Single<R> map(Func1 <? super T ,? extends R> func)
map does not operate by default on a particular
Scheduler.
func - a function to apply to the item emitted by the Single
public final Observable<T> mergeWith(Single <? extends T> t1)
You can combine items emitted by multiple Singles so that they appear as a single Observable, by using the mergeWith method.
mergeWith does not operate by default on a particular
Scheduler.
t1 - a Single to be merged
public final Single<T> observeOn(Scheduler scheduler)
Scheduler, asynchronously.
Scheduler this operator will use
scheduler - the
Scheduler to notify subscribers on
Scheduler
subscribeOn(rx.Scheduler)
public final Single<T> onErrorReturn(Func1 <Throwable ,? extends T> resumeFunction)
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 Observer 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 Observer 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
public final Subscriptionsubscribe()
subscribe does not operate by default on a particular
Scheduler.
Subscription reference can request the
Single stop work.
OnErrorNotImplementedException - if the Single tries to call
Observer.onError(java.lang.Throwable)
public final Subscriptionsubscribe(Action1 <? super T> onSuccess)
subscribe does not operate by default on a particular
Scheduler.
onSuccess - the
Action1<T> you have designed to accept the emission from the Single
Subscription reference can request the
Single stop work.
IllegalArgumentException - if
onNext is null
OnErrorNotImplementedException - if the Single tries to call
Observer.onError(java.lang.Throwable)
public final Subscriptionsubscribe(Action1 <? super T> onSuccess, Action1 <Throwable > onError)
subscribe does not operate by default on a particular
Scheduler.
onSuccess - the
Action1<T> you have designed to accept the emission from the Single
onError - the
Action1<Throwable> you have designed to accept any error notification from the Single
Subscription reference can request the
Single stop work.
IllegalArgumentException - if
onNext is null, or if
onError is null
public final void unsafeSubscribe(Subscriber<? super T> subscriber)
Single.OnSubscribe function without any contract protection, error handling, unsubscribe, or execution hooks.
Use this only for implementing an Observable.Operator that requires nested subscriptions. For other purposes, use subscribe(Subscriber) which ensures the Rx contract and other functionality.
unsafeSubscribe does not operate by default on a particular
Scheduler.
subscriber - the Subscriber that will handle the emission or notification from the Single
public final Subscriptionsubscribe(Subscriber <? super T> subscriber)
A typical implementation of subscribe does the following:
List<T> object.Subscription interface. This enables Subscribers to unsubscribe, that is, to stop receiving the item or notification before the Single completes. A Single<T> instance is responsible for accepting all subscriptions and notifying all Subscribers. Unless the documentation for a particular Single<T> implementation indicates otherwise, Subscribers should make no assumptions about the order in which multiple Subscribers will receive their notifications.
For more information see the ReactiveX documentation.
subscribe does not operate by default on a particular
Scheduler.
subscriber - the
Subscriber that will handle the emission or notification from the Single
Subscription reference can request the
Single stop work.
IllegalStateException - if
subscribe is unable to obtain an
OnSubscribe<> function
IllegalArgumentException - if the
Subscriber provided as the argument to
subscribe is
null
OnErrorNotImplementedException - if the
Subscriber's
onError method is null
RuntimeException - if the
Subscriber's
onError method itself threw a
Throwable
public final Subscriptionsubscribe(SingleSubscriber <? super T> te)
SingleSubscriber that implements functions to handle the item the Single emits or any error notification it issues.
A typical implementation of subscribe does the following:
List<T> object.Subscription interface. This enables Subscribers to unsubscribe, that is, to stop receiving the item or notification before the Single completes. A Single<T> instance is responsible for accepting all subscriptions and notifying all Subscribers. Unless the documentation for a particular Single<T> implementation indicates otherwise, Subscribers should make no assumptions about the order in which multiple Subscribers will receive their notifications.
For more information see the ReactiveX documentation.
subscribe does not operate by default on a particular
Scheduler.
te - the
SingleSubscriber that will handle the emission or notification from the Single
Subscription reference can request the
Single stop work.
IllegalStateException - if
subscribe is unable to obtain an
OnSubscribe<> function
IllegalArgumentException - if the
SingleSubscriber provided as the argument to
subscribe is
null
OnErrorNotImplementedException - if the
SingleSubscriber's
onError method is null
RuntimeException - if the
SingleSubscriber's
onError method itself threw a
Throwable
public final Single<T> subscribeOn(Scheduler scheduler)
Scheduler.
Scheduler this operator will use
scheduler - the
Scheduler to perform subscription actions on
Scheduler
observeOn(rx.Scheduler)
public final Observable<T> toObservable()
Observable.

Observable that emits a single item T.
public final Single<T> timeout(long timeout, TimeUnit timeUnit)
TimeoutException.
timeout operates by default on the
computation
Scheduler.
timeout - maximum duration before the Single times out
timeUnit - the unit of time that applies to the
timeout argument.
TimeoutException in case of a timeout
public final Single<T> timeout(long timeout, TimeUnit timeUnit, Scheduler scheduler)
TimeoutException.
Scheduler this operator will use
timeout - maximum duration before the Single times out
timeUnit - the unit of time that applies to the
timeout argument
scheduler - the Scheduler to run the timeout timers on
TimeoutException in case of a timeout
public final Single<T> timeout(long timeout, TimeUnit timeUnit, Single <? extends T> other)
timeout operates by default on the
computation
Scheduler.
timeout - maximum time before a timeout occurs
timeUnit - the unit of time that applies to the
timeout argument
other - the fallback Single to use in case of a timeout
public final Single<T> timeout(long timeout, TimeUnit timeUnit, Single <? extends T> other, Scheduler scheduler)
Scheduler this operator will use
timeout - maximum duration before a timeout occurs
timeUnit - the unit of time that applies to the
timeout argument
other - the Single to use as the fallback in case of a timeout
scheduler - the
Scheduler to run the timeout timers on
@Experimental public final BlockingSingle<T> toBlocking()
BlockingSingle (a Single with blocking operators).
toBlocking does not operate by default on a particular
Scheduler.
BlockingSingle version of this Single.
public final <T2,R> Single <R> zipWith(Single <? extends T2> other, Func2 <? super T ,? super T2 ,? extends R> zipFunction)
zipWith does not operate by default on a particular
Scheduler.
T2 - the type of items emitted by the
other Single
R - the type of items emitted by the resulting Single
other - the other Observable
zipFunction - a function that combines the pairs of items from the two Observables to generate the items to be emitted by the resulting Single
other Observable and emits the results of
zipFunction applied to these pairs
@Experimental public final Single<T> doOnError(Action1 <Throwable > onError)
Single so that it invokes an action if it calls
onError.
In case the onError action throws, the downstream will receive a composite exception containing the original exception and the exception thrown by onError.
doOnError does not operate by default on a particular
Scheduler.
onError - the action to invoke if the source
Single calls
onError
Single with the side-effecting behavior applied
@Experimental public final Single<T> doOnSuccess(Action1 <? super T> onSuccess)
Single so that it invokes an action when it calls
onSuccess.
doOnSuccess does not operate by default on a particular
Scheduler.
onSuccess - the action to invoke when the source
Single calls
onSuccess
Single with the side-effecting behavior applied
@Experimental public final Single<T> delay(long delay, TimeUnit unit, Scheduler scheduler)
Scheduler this operator will use
delay - the delay to shift the source by
unit - the time unit of
delay
scheduler - the
Scheduler to use for delaying
@Experimental public final Single<T> delay(long delay, TimeUnit unit)
delay operates by default on the
compuation
Scheduler.
delay - the delay to shift the source by
unit - the
TimeUnit in which
period is defined
@Experimental public static <T> Single<T> defer(Callable <Single <T>> singleFactory)
Single that calls a
Single factory to create a
Single for each new Observer that subscribes. That is, for each subscriber, the actual
Single that subscriber observes is determined by the factory function.
The defer Observer allows you to defer or delay emitting value from a Single until such time as an Observer subscribes to the Single. This allows an Observer to easily obtain updates or a refreshed version of the sequence.
defer does not operate by default on a particular
Scheduler.
T - the type of the items emitted by the
Single.
singleFactory - the
Single factory function to invoke for each
Observer that subscribes to the resulting
Single.
Single whose
Observers' subscriptions trigger an invocation of the given
Single factory function.