T
- the type of the items emitted by the Observablepublic abstract class Observable<T> extends java.lang.Object implements ObservableSource<T>
Reactive-Streams operates with ObservableSource
s which Observable
extends. Many operators
therefore accept general ObservableSource
s directly and allow direct interoperation with other
Reactive-Streams implementations.
The Observable's operators, by default, run with a buffer size of 128 elements (see Flowable.bufferSize()
,
that can be overridden globally via the system parameter rx2.buffer-size
. Most operators, however, have
overloads that allow setting their internal buffer size explicitly.
The documentation for this class makes use of marble diagrams. The following legend explains these diagrams:
For more information see the ReactiveX documentation.
Constructor and Description |
---|
Observable() |
Modifier and Type | Method and Description |
---|---|
Single<java.lang.Boolean> |
all(Predicate<? super T> predicate)
Returns an Observable that emits a Boolean that indicates whether all of the items emitted by the source
ObservableSource satisfy a condition.
|
static <T> Observable<T> |
amb(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
Mirrors the one ObservableSource in an Iterable of several ObservableSources that first either emits an item or sends
a termination notification.
|
static <T> Observable<T> |
ambArray(ObservableSource<? extends T>... sources)
Mirrors the one ObservableSource in an array of several ObservableSources that first either emits an item or sends
a termination notification.
|
Observable<T> |
ambWith(ObservableSource<? extends T> other)
Mirrors the ObservableSource (current or provided) that first either emits an item or sends a termination
notification.
|
Single<java.lang.Boolean> |
any(Predicate<? super T> predicate)
Returns an Observable that emits
true if any item emitted by the source ObservableSource satisfies a
specified condition, otherwise false . |
T |
blockingFirst()
Returns the first item emitted by this
Observable , or throws
NoSuchElementException if it emits no items. |
T |
blockingFirst(T defaultItem)
Returns the first item emitted by this
Observable , or a default value if it emits no
items. |
void |
blockingForEach(Consumer<? super T> onNext)
Invokes a method on each item emitted by this
Observable and blocks until the Observable
completes. |
java.lang.Iterable<T> |
blockingIterable()
Converts this
Observable into an Iterable . |
java.lang.Iterable<T> |
blockingIterable(int bufferSize)
Converts this
Observable into an Iterable . |
T |
blockingLast()
Returns the last item emitted by this
Observable , or throws
NoSuchElementException if this Observable emits no items. |
T |
blockingLast(T defaultItem)
Returns the last item emitted by this
Observable , or a default value if it emits no
items. |
java.lang.Iterable<T> |
blockingLatest()
Returns an
Iterable that returns the latest item emitted by this Observable ,
waiting if necessary for one to become available. |
java.lang.Iterable<T> |
blockingMostRecent(T initialValue)
Returns an
Iterable that always returns the item most recently emitted by this
Observable . |
java.lang.Iterable<T> |
blockingNext()
Returns an
Iterable that blocks until this Observable emits another item, then
returns that item. |
T |
blockingSingle()
If this
Observable completes after emitting a single item, return that item, otherwise
throw a NoSuchElementException . |
T |
blockingSingle(T defaultItem)
If this
Observable completes after emitting a single item, return that item; if it emits
more than one item, throw an IllegalArgumentException ; if it emits no items, return a default
value. |
void |
blockingSubscribe()
Runs the source observable to a terminal event, ignoring any values and rethrowing any exception.
|
void |
blockingSubscribe(Consumer<? super T> onNext)
Subscribes to the source and calls the given callbacks on the current thread.
|
void |
blockingSubscribe(Consumer<? super T> onNext,
Consumer<? super java.lang.Throwable> onError)
Subscribes to the source and calls the given callbacks on the current thread.
|
void |
blockingSubscribe(Consumer<? super T> onNext,
Consumer<? super java.lang.Throwable> onError,
Action onComplete)
Subscribes to the source and calls the given callbacks on the current thread.
|
void |
blockingSubscribe(Observer<? super T> subscriber)
Subscribes to the source and calls the Observer methods on the current thread.
|
<B> Observable<java.util.List<T>> |
buffer(java.util.concurrent.Callable<? extends ObservableSource<B>> boundarySupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
<B,U extends java.util.Collection<? super T>> |
buffer(java.util.concurrent.Callable<? extends ObservableSource<B>> boundarySupplier,
java.util.concurrent.Callable<U> bufferSupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
Observable<java.util.List<T>> |
buffer(int count)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
<U extends java.util.Collection<? super T>> |
buffer(int count,
java.util.concurrent.Callable<U> bufferSupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
Observable<java.util.List<T>> |
buffer(int count,
int skip)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
<U extends java.util.Collection<? super T>> |
buffer(int count,
int skip,
java.util.concurrent.Callable<U> bufferSupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
Observable<java.util.List<T>> |
buffer(long timespan,
long timeskip,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
Observable<java.util.List<T>> |
buffer(long timespan,
long timeskip,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
<U extends java.util.Collection<? super T>> |
buffer(long timespan,
long timeskip,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
java.util.concurrent.Callable<U> bufferSupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
Observable<java.util.List<T>> |
buffer(long timespan,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
Observable<java.util.List<T>> |
buffer(long timespan,
java.util.concurrent.TimeUnit unit,
int count)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
Observable<java.util.List<T>> |
buffer(long timespan,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
Observable<java.util.List<T>> |
buffer(long timespan,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
int count)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
<U extends java.util.Collection<? super T>> |
buffer(long timespan,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
int count,
java.util.concurrent.Callable<U> bufferSupplier,
boolean restartTimerOnMaxSize)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
<TOpening,TClosing> |
buffer(ObservableSource<? extends TOpening> openingIndicator,
Function<? super TOpening,? extends ObservableSource<? extends TClosing>> closingIndicator)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
<TOpening,TClosing,U extends java.util.Collection<? super T>> |
buffer(ObservableSource<? extends TOpening> openingIndicator,
Function<? super TOpening,? extends ObservableSource<? extends TClosing>> closingIndicator,
java.util.concurrent.Callable<U> bufferSupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
|
<B> Observable<java.util.List<T>> |
buffer(ObservableSource<B> boundary)
Returns an Observable that emits non-overlapping buffered items from the source ObservableSource each time the
specified boundary ObservableSource emits an item.
|
<B,U extends java.util.Collection<? super T>> |
buffer(ObservableSource<B> boundary,
java.util.concurrent.Callable<U> bufferSupplier)
Returns an Observable that emits non-overlapping buffered items from the source ObservableSource each time the
specified boundary ObservableSource emits an item.
|
<B> Observable<java.util.List<T>> |
buffer(ObservableSource<B> boundary,
int initialCapacity)
Returns an Observable that emits non-overlapping buffered items from the source ObservableSource each time the
specified boundary ObservableSource emits an item.
|
static int |
bufferSize()
Returns the default 'island' size or capacity-increment hint for unbounded buffers.
|
Observable<T> |
cache()
Returns an Observable that subscribes to this ObservableSource lazily, caches all of its events
and replays them, in the same order as received, to all the downstream subscribers.
|
Observable<T> |
cacheWithInitialCapacity(int initialCapacity)
Returns an Observable that subscribes to this ObservableSource lazily, caches all of its events
and replays them, in the same order as received, to all the downstream subscribers.
|
<U> Observable<U> |
cast(java.lang.Class<U> clazz)
Returns an Observable that emits the items emitted by the source ObservableSource, converted to the specified
type.
|
<U> Single<U> |
collect(java.util.concurrent.Callable<? extends U> initialValueSupplier,
BiConsumer<? super U,? super T> collector)
Collects items emitted by the source ObservableSource into a single mutable data structure and returns
a Single that emits this structure.
|
<U> Single<U> |
collectInto(U initialValue,
BiConsumer<? super U,? super T> collector)
Collects items emitted by the source ObservableSource into a single mutable data structure and returns
a Single that emits this structure.
|
static <T,R> Observable<R> |
combineLatest(Function<? super java.lang.Object[],? extends R> combiner,
int bufferSize,
ObservableSource<? extends T>... sources)
Combines a collection of source ObservableSources by emitting an item that aggregates the latest values of each of
the source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T,R> Observable<R> |
combineLatest(java.lang.Iterable<? extends ObservableSource<? extends T>> sources,
Function<? super java.lang.Object[],? extends R> combiner)
Combines a collection of source ObservableSources by emitting an item that aggregates the latest values of each of
the source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T,R> Observable<R> |
combineLatest(java.lang.Iterable<? extends ObservableSource<? extends T>> sources,
Function<? super java.lang.Object[],? extends R> combiner,
int bufferSize)
Combines a collection of source ObservableSources by emitting an item that aggregates the latest values of each of
the source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T,R> Observable<R> |
combineLatest(ObservableSource<? extends T>[] sources,
Function<? super java.lang.Object[],? extends R> combiner)
Combines a collection of source ObservableSources by emitting an item that aggregates the latest values of each of
the source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T,R> Observable<R> |
combineLatest(ObservableSource<? extends T>[] sources,
Function<? super java.lang.Object[],? extends R> combiner,
int bufferSize)
Combines a collection of source ObservableSources by emitting an item that aggregates the latest values of each of
the source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T1,T2,R> Observable<R> |
combineLatest(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
BiFunction<? super T1,? super T2,? extends R> combiner)
Combines two source ObservableSources by emitting an item that aggregates the latest values of each of the
source ObservableSources each time an item is received from either of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T1,T2,T3,R> |
combineLatest(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
Function3<? super T1,? super T2,? super T3,? extends R> combiner)
Combines three source ObservableSources by emitting an item that aggregates the latest values of each of the
source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T1,T2,T3,T4,R> |
combineLatest(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
Function4<? super T1,? super T2,? super T3,? super T4,? extends R> combiner)
Combines four source ObservableSources by emitting an item that aggregates the latest values of each of the
source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T1,T2,T3,T4,T5,R> |
combineLatest(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
ObservableSource<? extends T5> source5,
Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> combiner)
Combines five source ObservableSources by emitting an item that aggregates the latest values of each of the
source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T1,T2,T3,T4,T5,T6,R> |
combineLatest(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
ObservableSource<? extends T5> source5,
ObservableSource<? extends T6> source6,
Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> combiner)
Combines six source ObservableSources by emitting an item that aggregates the latest values of each of the
source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T1,T2,T3,T4,T5,T6,T7,R> |
combineLatest(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
ObservableSource<? extends T5> source5,
ObservableSource<? extends T6> source6,
ObservableSource<? extends T7> source7,
Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> combiner)
Combines seven source ObservableSources by emitting an item that aggregates the latest values of each of the
source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T1,T2,T3,T4,T5,T6,T7,T8,R> |
combineLatest(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
ObservableSource<? extends T5> source5,
ObservableSource<? extends T6> source6,
ObservableSource<? extends T7> source7,
ObservableSource<? extends T8> source8,
Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> combiner)
Combines eight source ObservableSources by emitting an item that aggregates the latest values of each of the
source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T1,T2,T3,T4,T5,T6,T7,T8,T9,R> |
combineLatest(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
ObservableSource<? extends T5> source5,
ObservableSource<? extends T6> source6,
ObservableSource<? extends T7> source7,
ObservableSource<? extends T8> source8,
ObservableSource<? extends T9> source9,
Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> combiner)
Combines nine source ObservableSources by emitting an item that aggregates the latest values of each of the
source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T,R> Observable<R> |
combineLatestDelayError(Function<? super java.lang.Object[],? extends R> combiner,
int bufferSize,
ObservableSource<? extends T>... sources)
Combines a collection of source ObservableSources by emitting an item that aggregates the latest values of each of
the source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function and delays any error from the sources until
all source ObservableSources terminate.
|
static <T,R> Observable<R> |
combineLatestDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources,
Function<? super java.lang.Object[],? extends R> combiner)
Combines a collection of source ObservableSources by emitting an item that aggregates the latest values of each of
the source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function and delays any error from the sources until
all source ObservableSources terminate.
|
static <T,R> Observable<R> |
combineLatestDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources,
Function<? super java.lang.Object[],? extends R> combiner,
int bufferSize)
Combines a collection of source ObservableSources by emitting an item that aggregates the latest values of each of
the source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function and delays any error from the sources until
all source ObservableSources terminate.
|
static <T,R> Observable<R> |
combineLatestDelayError(ObservableSource<? extends T>[] sources,
Function<? super java.lang.Object[],? extends R> combiner)
Combines a collection of source ObservableSources by emitting an item that aggregates the latest values of each of
the source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function.
|
static <T,R> Observable<R> |
combineLatestDelayError(ObservableSource<? extends T>[] sources,
Function<? super java.lang.Object[],? extends R> combiner,
int bufferSize)
Combines a collection of source ObservableSources by emitting an item that aggregates the latest values of each of
the source ObservableSources each time an item is received from any of the source ObservableSources, where this
aggregation is defined by a specified function and delays any error from the sources until
all source ObservableSources terminate.
|
<R> Observable<R> |
compose(ObservableTransformer<? super T,? extends R> composer)
Transform an ObservableSource by applying a particular Transformer function to it.
|
static <T> Observable<T> |
concat(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
Concatenates elements of each ObservableSource provided via an Iterable sequence into a single sequence
of elements without interleaving them.
|
static <T> Observable<T> |
concat(ObservableSource<? extends ObservableSource<? extends T>> sources)
Returns an Observable that emits the items emitted by each of the ObservableSources emitted by the source
ObservableSource, one after the other, without interleaving them.
|
static <T> Observable<T> |
concat(ObservableSource<? extends ObservableSource<? extends T>> sources,
int prefetch)
Returns an Observable that emits the items emitted by each of the ObservableSources emitted by the source
ObservableSource, one after the other, without interleaving them.
|
static <T> Observable<T> |
concat(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2)
Returns an Observable that emits the items emitted by two ObservableSources, one after the other, without
interleaving them.
|
static <T> Observable<T> |
concat(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2,
ObservableSource<? extends T> source3)
Returns an Observable that emits the items emitted by three ObservableSources, one after the other, without
interleaving them.
|
static <T> Observable<T> |
concat(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2,
ObservableSource<? extends T> source3,
ObservableSource<? extends T> source4)
Returns an Observable that emits the items emitted by four ObservableSources, one after the other, without
interleaving them.
|
static <T> Observable<T> |
concatArray(ObservableSource<? extends T>... sources)
Concatenates a variable number of ObservableSource sources.
|
static <T> Observable<T> |
concatArrayDelayError(ObservableSource<? extends T>... sources)
Concatenates a variable number of ObservableSource sources and delays errors from any of them
till all terminate.
|
static <T> Observable<T> |
concatArrayEager(int maxConcurrency,
int prefetch,
ObservableSource<? extends T>... sources)
Concatenates a sequence of ObservableSources eagerly into a single stream of values.
|
static <T> Observable<T> |
concatArrayEager(ObservableSource<? extends T>... sources)
Concatenates a sequence of ObservableSources eagerly into a single stream of values.
|
static <T> Observable<T> |
concatDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
Concatenates the Iterable sequence of ObservableSources into a single sequence by subscribing to each ObservableSource,
one after the other, one at a time and delays any errors till the all inner ObservableSources terminate.
|
static <T> Observable<T> |
concatDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources)
Concatenates the ObservableSource sequence of ObservableSources into a single sequence by subscribing to each inner ObservableSource,
one after the other, one at a time and delays any errors till the all inner and the outer ObservableSources terminate.
|
static <T> Observable<T> |
concatDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources,
int prefetch,
boolean tillTheEnd)
Concatenates the ObservableSource sequence of ObservableSources into a single sequence by subscribing to each inner ObservableSource,
one after the other, one at a time and delays any errors till the all inner and the outer ObservableSources terminate.
|
static <T> Observable<T> |
concatEager(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
Concatenates a sequence of ObservableSources eagerly into a single stream of values.
|
static <T> Observable<T> |
concatEager(java.lang.Iterable<? extends ObservableSource<? extends T>> sources,
int maxConcurrency,
int prefetch)
Concatenates a sequence of ObservableSources eagerly into a single stream of values.
|
static <T> Observable<T> |
concatEager(ObservableSource<? extends ObservableSource<? extends T>> sources)
Concatenates an ObservableSource sequence of ObservableSources eagerly into a single stream of values.
|
static <T> Observable<T> |
concatEager(ObservableSource<? extends ObservableSource<? extends T>> sources,
int maxConcurrency,
int prefetch)
Concatenates an ObservableSource sequence of ObservableSources eagerly into a single stream of values.
|
<R> Observable<R> |
concatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper)
Returns a new Observable that emits items resulting from applying a function that you supply to each item
emitted by the source ObservableSource, where that function returns an ObservableSource, and then emitting the items
that result from concatenating those resulting ObservableSources.
|
<R> Observable<R> |
concatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper,
int prefetch)
Returns a new Observable that emits items resulting from applying a function that you supply to each item
emitted by the source ObservableSource, where that function returns an ObservableSource, and then emitting the items
that result from concatenating those resulting ObservableSources.
|
<R> Observable<R> |
concatMapDelayError(Function<? super T,? extends ObservableSource<? extends R>> mapper)
Maps each of the items into an ObservableSource, subscribes to them one after the other,
one at a time and emits their values in order
while delaying any error from either this or any of the inner ObservableSources
till all of them terminate.
|
<R> Observable<R> |
concatMapDelayError(Function<? super T,? extends ObservableSource<? extends R>> mapper,
int prefetch,
boolean tillTheEnd)
Maps each of the items into an ObservableSource, subscribes to them one after the other,
one at a time and emits their values in order
while delaying any error from either this or any of the inner ObservableSources
till all of them terminate.
|
<R> Observable<R> |
concatMapEager(Function<? super T,? extends ObservableSource<? extends R>> mapper)
Maps a sequence of values into ObservableSources and concatenates these ObservableSources eagerly into a single
ObservableSource.
|
<R> Observable<R> |
concatMapEager(Function<? super T,? extends ObservableSource<? extends R>> mapper,
int maxConcurrency,
int prefetch)
Maps a sequence of values into ObservableSources and concatenates these ObservableSources eagerly into a single
ObservableSource.
|
<R> Observable<R> |
concatMapEagerDelayError(Function<? super T,? extends ObservableSource<? extends R>> mapper,
boolean tillTheEnd)
Maps a sequence of values into ObservableSources and concatenates these ObservableSources eagerly into a single
ObservableSource.
|
<R> Observable<R> |
concatMapEagerDelayError(Function<? super T,? extends ObservableSource<? extends R>> mapper,
int maxConcurrency,
int prefetch,
boolean tillTheEnd)
Maps a sequence of values into ObservableSources and concatenates these ObservableSources eagerly into a single
ObservableSource.
|
<U> Observable<U> |
concatMapIterable(Function<? super T,? extends java.lang.Iterable<? extends U>> mapper)
Returns an Observable that concatenate each item emitted by the source ObservableSource with the values in an
Iterable corresponding to that item that is generated by a selector.
|
<U> Observable<U> |
concatMapIterable(Function<? super T,? extends java.lang.Iterable<? extends U>> mapper,
int prefetch)
Returns an Observable that concatenate each item emitted by the source ObservableSource with the values in an
Iterable corresponding to that item that is generated by a selector.
|
Observable<T> |
concatWith(ObservableSource<? extends T> other)
Returns an Observable that emits the items emitted from the current ObservableSource, then the next, one after
the other, without interleaving them.
|
Single<java.lang.Boolean> |
contains(java.lang.Object element)
Returns an Observable that emits a Boolean that indicates whether the source ObservableSource emitted a
specified item.
|
Single<java.lang.Long> |
count()
Returns a Single that counts the total number of items emitted by the source ObservableSource and emits
this count as a 64-bit Long.
|
static <T> Observable<T> |
create(ObservableOnSubscribe<T> source)
Provides an API (via a cold Observable) that bridges the reactive world with the callback-style world.
|
<U> Observable<T> |
debounce(Function<? super T,? extends ObservableSource<U>> debounceSelector)
Returns an Observable that mirrors the source ObservableSource, except that it drops items emitted by the
source ObservableSource that are followed by another item within a computed debounce duration.
|
Observable<T> |
debounce(long timeout,
java.util.concurrent.TimeUnit unit)
Returns an Observable that mirrors the source ObservableSource, except that it drops items emitted by the
source ObservableSource that are followed by newer items before a timeout value expires.
|
Observable<T> |
debounce(long timeout,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that mirrors the source ObservableSource, except that it drops items emitted by the
source ObservableSource that are followed by newer items before a timeout value expires on a specified
Scheduler.
|
Observable<T> |
defaultIfEmpty(T defaultItem)
Returns an Observable that emits the items emitted by the source ObservableSource or a specified default item
if the source ObservableSource is empty.
|
static <T> Observable<T> |
defer(java.util.concurrent.Callable<? extends ObservableSource<? extends T>> supplier)
Returns an Observable that calls an ObservableSource factory to create an ObservableSource for each new Observer
that subscribes.
|
<U> Observable<T> |
delay(Function<? super T,? extends ObservableSource<U>> itemDelay)
Returns an Observable that delays the emissions of the source ObservableSource via another ObservableSource on a
per-item basis.
|
Observable<T> |
delay(long delay,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits the items emitted by the source ObservableSource shifted forward in time by a
specified delay.
|
Observable<T> |
delay(long delay,
java.util.concurrent.TimeUnit unit,
boolean delayError)
Returns an Observable that emits the items emitted by the source ObservableSource shifted forward in time by a
specified delay.
|
Observable<T> |
delay(long delay,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits the items emitted by the source ObservableSource shifted forward in time by a
specified delay.
|
Observable<T> |
delay(long delay,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
boolean delayError)
Returns an Observable that emits the items emitted by the source ObservableSource shifted forward in time by a
specified delay.
|
<U,V> Observable<T> |
delay(ObservableSource<U> subscriptionDelay,
Function<? super T,? extends ObservableSource<V>> itemDelay)
Returns an Observable that delays the subscription to and emissions from the source ObservableSource via another
ObservableSource on a per-item basis.
|
Observable<T> |
delaySubscription(long delay,
java.util.concurrent.TimeUnit unit)
Returns an Observable that delays the subscription to the source ObservableSource by a given amount of time.
|
Observable<T> |
delaySubscription(long delay,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that delays the subscription to the source ObservableSource by a given amount of time,
both waiting and subscribing on a given Scheduler.
|
<U> Observable<T> |
delaySubscription(ObservableSource<U> other)
Returns an Observable that delays the subscription to this Observable
until the other Observable emits an element or completes normally.
|
<T2> Observable<T2> |
dematerialize()
Returns an Observable that reverses the effect of
materialize by transforming the
Notification objects emitted by the source ObservableSource into the items or notifications they
represent. |
Observable<T> |
distinct()
Returns an Observable that emits all items emitted by the source ObservableSource that are distinct.
|
<K> Observable<T> |
distinct(Function<? super T,K> keySelector)
Returns an Observable that emits all items emitted by the source ObservableSource that are distinct according
to a key selector function.
|
<K> Observable<T> |
distinct(Function<? super T,K> keySelector,
java.util.concurrent.Callable<? extends java.util.Collection<? super K>> collectionSupplier)
Returns an Observable that emits all items emitted by the source ObservableSource that are distinct according
to a key selector function.
|
Observable<T> |
distinctUntilChanged()
Returns an Observable that emits all items emitted by the source ObservableSource that are distinct from their
immediate predecessors.
|
Observable<T> |
distinctUntilChanged(BiPredicate<? super T,? super T> comparer)
Returns an Observable that emits all items emitted by the source ObservableSource that are distinct from their
immediate predecessors when compared with each other via the provided comparator function.
|
<K> Observable<T> |
distinctUntilChanged(Function<? super T,K> keySelector)
Returns an Observable that emits all items emitted by the source ObservableSource that are distinct from their
immediate predecessors, according to a key selector function.
|
Observable<T> |
doAfterNext(Consumer<? super T> onAfterNext)
Calls the specified consumer with the current item after this item has been emitted to the downstream.
|
Observable<T> |
doAfterTerminate(Action onFinally)
|
Observable<T> |
doFinally(Action onFinally)
Calls the specified action after this Observable signals onError or onCompleted or gets disposed by
the downstream.
|
Observable<T> |
doOnComplete(Action onComplete)
Modifies the source ObservableSource so that it invokes an action when it calls
onComplete . |
Observable<T> |
doOnDispose(Action onDispose)
Calls the dispose
Action if the downstream disposes the sequence. |
Observable<T> |
doOnEach(Consumer<? super Notification<T>> onNotification)
Modifies the source ObservableSource so that it invokes an action for each item it emits.
|
Observable<T> |
doOnEach(Observer<? super T> observer)
Modifies the source ObservableSource so that it notifies an Observer for each item and terminal event it emits.
|
Observable<T> |
doOnError(Consumer<? super java.lang.Throwable> onError)
Modifies the source ObservableSource so that it invokes an action if it calls
onError . |
Observable<T> |
doOnLifecycle(Consumer<? super Disposable> onSubscribe,
Action onDispose)
Calls the appropriate onXXX method (shared between all Observer) for the lifecycle events of
the sequence (subscription, cancellation, requesting).
|
Observable<T> |
doOnNext(Consumer<? super T> onNext)
Modifies the source ObservableSource so that it invokes an action when it calls
onNext . |
Observable<T> |
doOnSubscribe(Consumer<? super Disposable> onSubscribe)
Modifies the source
ObservableSource so that it invokes the given action when it is subscribed from
its subscribers. |
Observable<T> |
doOnTerminate(Action onTerminate)
Modifies the source ObservableSource so that it invokes an action when it calls
onComplete or
onError . |
Maybe<T> |
elementAt(long index)
Returns a Maybe that emits the single item at a specified index in a sequence of emissions from
this Observable or completes if this Observable signals fewer elements than index.
|
Single<T> |
elementAt(long index,
T defaultItem)
Returns a Single that emits the item found at a specified index in a sequence of emissions from
this Observable, or a default item if that index is out of range.
|
Single<T> |
elementAtOrError(long index)
Returns a Single that emits the item found at a specified index in a sequence of emissions from this Observable
or signals a
NoSuchElementException if this Observable signals fewer elements than index. |
static <T> Observable<T> |
empty()
Returns an Observable that emits no items to the
Observer and immediately invokes its
onComplete method. |
static <T> Observable<T> |
error(java.util.concurrent.Callable<? extends java.lang.Throwable> errorSupplier)
|
static <T> Observable<T> |
error(java.lang.Throwable exception)
|
Observable<T> |
filter(Predicate<? super T> predicate)
Filters items emitted by an ObservableSource by only emitting those that satisfy a specified predicate.
|
Single<T> |
first(T defaultItem)
Returns a Single that emits only the very first item emitted by the source ObservableSource, or a default item
if the source ObservableSource completes without emitting any items.
|
Maybe<T> |
firstElement()
Returns a Maybe that emits only the very first item emitted by the source ObservableSource, or
completes if the source ObservableSource is empty.
|
Single<T> |
firstOrError()
Returns a Single that emits only the very first item emitted by this Observable or
signals a
NoSuchElementException if this Observable is empty. |
<R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper)
Returns an Observable that emits items based on applying a function that you supply to each item emitted
by the source ObservableSource, where that function returns an ObservableSource, and then merging those resulting
ObservableSources and emitting the results of this merger.
|
<R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper,
boolean delayErrors)
Returns an Observable that emits items based on applying a function that you supply to each item emitted
by the source ObservableSource, where that function returns an ObservableSource, and then merging those resulting
ObservableSources and emitting the results of this merger.
|
<R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper,
boolean delayErrors,
int maxConcurrency)
Returns an Observable that emits items based on applying a function that you supply to each item emitted
by the source ObservableSource, where that function returns an ObservableSource, and then merging those resulting
ObservableSources and emitting the results of this merger, while limiting the maximum number of concurrent
subscriptions to these ObservableSources.
|
<R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper,
boolean delayErrors,
int maxConcurrency,
int bufferSize)
Returns an Observable that emits items based on applying a function that you supply to each item emitted
by the source ObservableSource, where that function returns an ObservableSource, and then merging those resulting
ObservableSources and emitting the results of this merger, while limiting the maximum number of concurrent
subscriptions to these ObservableSources.
|
<R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends R>> onNextMapper,
Function<? super java.lang.Throwable,? extends ObservableSource<? extends R>> onErrorMapper,
java.util.concurrent.Callable<? extends ObservableSource<? extends R>> onCompleteSupplier)
Returns an Observable that applies a function to each item emitted or notification raised by the source
ObservableSource and then flattens the ObservableSources returned from these functions and emits the resulting items.
|
<R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends R>> onNextMapper,
Function<java.lang.Throwable,? extends ObservableSource<? extends R>> onErrorMapper,
java.util.concurrent.Callable<? extends ObservableSource<? extends R>> onCompleteSupplier,
int maxConcurrency)
Returns an Observable that applies a function to each item emitted or notification raised by the source
ObservableSource and then flattens the ObservableSources returned from these functions and emits the resulting items,
while limiting the maximum number of concurrent subscriptions to these ObservableSources.
|
<R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper,
int maxConcurrency)
Returns an Observable that emits items based on applying a function that you supply to each item emitted
by the source ObservableSource, where that function returns an ObservableSource, and then merging those resulting
ObservableSources and emitting the results of this merger, while limiting the maximum number of concurrent
subscriptions to these ObservableSources.
|
<U,R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends U>> mapper,
BiFunction<? super T,? super U,? extends R> resultSelector)
Returns an Observable that emits the results of a specified function to the pair of values emitted by the
source ObservableSource and a specified collection ObservableSource.
|
<U,R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends U>> mapper,
BiFunction<? super T,? super U,? extends R> combiner,
boolean delayErrors)
Returns an Observable that emits the results of a specified function to the pair of values emitted by the
source ObservableSource and a specified collection ObservableSource.
|
<U,R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends U>> mapper,
BiFunction<? super T,? super U,? extends R> combiner,
boolean delayErrors,
int maxConcurrency)
Returns an Observable that emits the results of a specified function to the pair of values emitted by the
source ObservableSource and a specified collection ObservableSource, while limiting the maximum number of concurrent
subscriptions to these ObservableSources.
|
<U,R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends U>> mapper,
BiFunction<? super T,? super U,? extends R> combiner,
boolean delayErrors,
int maxConcurrency,
int bufferSize)
Returns an Observable that emits the results of a specified function to the pair of values emitted by the
source ObservableSource and a specified collection ObservableSource, while limiting the maximum number of concurrent
subscriptions to these ObservableSources.
|
<U,R> Observable<R> |
flatMap(Function<? super T,? extends ObservableSource<? extends U>> mapper,
BiFunction<? super T,? super U,? extends R> combiner,
int maxConcurrency)
Returns an Observable that emits the results of a specified function to the pair of values emitted by the
source ObservableSource and a specified collection ObservableSource, while limiting the maximum number of concurrent
subscriptions to these ObservableSources.
|
Completable |
flatMapCompletable(Function<? super T,? extends CompletableSource> mapper)
Maps each element of the upstream Observable into CompletableSources, subscribes to them and
waits until the upstream and all CompletableSources complete.
|
Completable |
flatMapCompletable(Function<? super T,? extends CompletableSource> mapper,
boolean delayErrors)
Maps each element of the upstream Observable into CompletableSources, subscribes to them and
waits until the upstream and all CompletableSources complete, optionally delaying all errors.
|
<U> Observable<U> |
flatMapIterable(Function<? super T,? extends java.lang.Iterable<? extends U>> mapper)
Returns an Observable that merges each item emitted by the source ObservableSource with the values in an
Iterable corresponding to that item that is generated by a selector.
|
<U,V> Observable<V> |
flatMapIterable(Function<? super T,? extends java.lang.Iterable<? extends U>> mapper,
BiFunction<? super T,? super U,? extends V> resultSelector)
Returns an Observable that emits the results of applying a function to the pair of values from the source
ObservableSource and an Iterable corresponding to that item that is generated by a selector.
|
<R> Observable<R> |
flatMapMaybe(Function<? super T,? extends MaybeSource<? extends R>> mapper)
Maps each element of the upstream Observable into MaybeSources, subscribes to them and
waits until the upstream and all MaybeSources complete.
|
<R> Observable<R> |
flatMapMaybe(Function<? super T,? extends MaybeSource<? extends R>> mapper,
boolean delayErrors)
Maps each element of the upstream Observable into MaybeSources, subscribes to them and
waits until the upstream and all MaybeSources complete, optionally delaying all errors.
|
<R> Observable<R> |
flatMapSingle(Function<? super T,? extends SingleSource<? extends R>> mapper)
Maps each element of the upstream Observable into SingleSources, subscribes to them and
waits until the upstream and all SingleSources complete.
|
<R> Observable<R> |
flatMapSingle(Function<? super T,? extends SingleSource<? extends R>> mapper,
boolean delayErrors)
Maps each element of the upstream Observable into SingleSources, subscribes to them and
waits until the upstream and all SingleSources complete, optionally delaying all errors.
|
Disposable |
forEach(Consumer<? super T> onNext)
Subscribes to the
ObservableSource and receives notifications for each element. |
Disposable |
forEachWhile(Predicate<? super T> onNext)
Subscribes to the
ObservableSource and receives notifications for each element until the
onNext Predicate returns false. |
Disposable |
forEachWhile(Predicate<? super T> onNext,
Consumer<? super java.lang.Throwable> onError)
Subscribes to the
ObservableSource and receives notifications for each element and error events until the
onNext Predicate returns false. |
Disposable |
forEachWhile(Predicate<? super T> onNext,
Consumer<? super java.lang.Throwable> onError,
Action onComplete)
Subscribes to the
ObservableSource and receives notifications for each element and the terminal events until the
onNext Predicate returns false. |
static <T> Observable<T> |
fromArray(T... items)
Converts an Array into an ObservableSource that emits the items in the Array.
|
static <T> Observable<T> |
fromCallable(java.util.concurrent.Callable<? extends T> supplier)
Returns an Observable that, when an observer subscribes to it, invokes a function you specify and then
emits the value returned from that function.
|
static <T> Observable<T> |
fromFuture(java.util.concurrent.Future<? extends T> future)
Converts a
Future into an ObservableSource. |
static <T> Observable<T> |
fromFuture(java.util.concurrent.Future<? extends T> future,
long timeout,
java.util.concurrent.TimeUnit unit)
Converts a
Future into an ObservableSource, with a timeout on the Future. |
static <T> Observable<T> |
fromFuture(java.util.concurrent.Future<? extends T> future,
long timeout,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Converts a
Future into an ObservableSource, with a timeout on the Future. |
static <T> Observable<T> |
fromFuture(java.util.concurrent.Future<? extends T> future,
Scheduler scheduler)
Converts a
Future , operating on a specified Scheduler , into an ObservableSource. |
static <T> Observable<T> |
fromIterable(java.lang.Iterable<? extends T> source)
Converts an
Iterable sequence into an ObservableSource that emits the items in the sequence. |
static <T> Observable<T> |
fromPublisher(org.reactivestreams.Publisher<? extends T> publisher)
Converts an arbitrary Reactive-Streams Publisher into an Observable.
|
static <T,S> Observable<T> |
generate(java.util.concurrent.Callable<S> initialState,
BiConsumer<S,Emitter<T>> generator)
Returns a cold, synchronous and stateful generator of values.
|
static <T,S> Observable<T> |
generate(java.util.concurrent.Callable<S> initialState,
BiConsumer<S,Emitter<T>> generator,
Consumer<? super S> disposeState)
Returns a cold, synchronous and stateful generator of values.
|
static <T,S> Observable<T> |
generate(java.util.concurrent.Callable<S> initialState,
BiFunction<S,Emitter<T>,S> generator)
Returns a cold, synchronous and stateful generator of values.
|
static <T,S> Observable<T> |
generate(java.util.concurrent.Callable<S> initialState,
BiFunction<S,Emitter<T>,S> generator,
Consumer<? super S> disposeState)
Returns a cold, synchronous and stateful generator of values.
|
static <T> Observable<T> |
generate(Consumer<Emitter<T>> generator)
Returns a cold, synchronous and stateless generator of values.
|
<K> Observable<GroupedObservable<K,T>> |
groupBy(Function<? super T,? extends K> keySelector)
Groups the items emitted by an
ObservableSource according to a specified criterion, and emits these
grouped items as GroupedObservable s. |
<K> Observable<GroupedObservable<K,T>> |
groupBy(Function<? super T,? extends K> keySelector,
boolean delayError)
Groups the items emitted by an
ObservableSource according to a specified criterion, and emits these
grouped items as GroupedObservable s. |
<K,V> Observable<GroupedObservable<K,V>> |
groupBy(Function<? super T,? extends K> keySelector,
Function<? super T,? extends V> valueSelector)
Groups the items emitted by an
ObservableSource according to a specified criterion, and emits these
grouped items as GroupedObservable s. |
<K,V> Observable<GroupedObservable<K,V>> |
groupBy(Function<? super T,? extends K> keySelector,
Function<? super T,? extends V> valueSelector,
boolean delayError)
Groups the items emitted by an
ObservableSource according to a specified criterion, and emits these
grouped items as GroupedObservable s. |
<K,V> Observable<GroupedObservable<K,V>> |
groupBy(Function<? super T,? extends K> keySelector,
Function<? super T,? extends V> valueSelector,
boolean delayError,
int bufferSize)
Groups the items emitted by an
ObservableSource according to a specified criterion, and emits these
grouped items as GroupedObservable s. |
<TRight,TLeftEnd,TRightEnd,R> |
groupJoin(ObservableSource<? extends TRight> other,
Function<? super T,? extends ObservableSource<TLeftEnd>> leftEnd,
Function<? super TRight,? extends ObservableSource<TRightEnd>> rightEnd,
BiFunction<? super T,? super Observable<TRight>,? extends R> resultSelector)
Returns an Observable that correlates two ObservableSources when they overlap in time and groups the results.
|
Observable<T> |
hide()
Hides the identity of this Observable and its Disposable.
|
Completable |
ignoreElements()
Ignores all items emitted by the source ObservableSource and only calls
onComplete or onError . |
static Observable<java.lang.Long> |
interval(long initialDelay,
long period,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits a
0L after the initialDelay and ever increasing numbers
after each period of time thereafter. |
static Observable<java.lang.Long> |
interval(long initialDelay,
long period,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits a
0L after the initialDelay and ever increasing numbers
after each period of time thereafter, on a specified Scheduler . |
static Observable<java.lang.Long> |
interval(long period,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits a sequential number every specified interval of time.
|
static Observable<java.lang.Long> |
interval(long period,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits a sequential number every specified interval of time, on a
specified Scheduler.
|
static Observable<java.lang.Long> |
intervalRange(long start,
long count,
long initialDelay,
long period,
java.util.concurrent.TimeUnit unit)
Signals a range of long values, the first after some initial delay and the rest periodically after.
|
static Observable<java.lang.Long> |
intervalRange(long start,
long count,
long initialDelay,
long period,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Signals a range of long values, the first after some initial delay and the rest periodically after.
|
Single<java.lang.Boolean> |
isEmpty()
Returns an Observable that emits
true if the source ObservableSource is empty, otherwise false . |
<TRight,TLeftEnd,TRightEnd,R> |
join(ObservableSource<? extends TRight> other,
Function<? super T,? extends ObservableSource<TLeftEnd>> leftEnd,
Function<? super TRight,? extends ObservableSource<TRightEnd>> rightEnd,
BiFunction<? super T,? super TRight,? extends R> resultSelector)
Correlates the items emitted by two ObservableSources based on overlapping durations.
|
static <T> Observable<T> |
just(T item)
Returns an Observable that emits a single item and then completes.
|
static <T> Observable<T> |
just(T item1,
T item2)
Converts two items into an ObservableSource that emits those items.
|
static <T> Observable<T> |
just(T item1,
T item2,
T item3)
Converts three items into an ObservableSource that emits those items.
|
static <T> Observable<T> |
just(T item1,
T item2,
T item3,
T item4)
Converts four items into an ObservableSource that emits those items.
|
static <T> Observable<T> |
just(T item1,
T item2,
T item3,
T item4,
T item5)
Converts five items into an ObservableSource that emits those items.
|
static <T> Observable<T> |
just(T item1,
T item2,
T item3,
T item4,
T item5,
T item6)
Converts six items into an ObservableSource that emits those items.
|
static <T> Observable<T> |
just(T item1,
T item2,
T item3,
T item4,
T item5,
T item6,
T item7)
Converts seven items into an ObservableSource that emits those items.
|
static <T> Observable<T> |
just(T item1,
T item2,
T item3,
T item4,
T item5,
T item6,
T item7,
T item8)
Converts eight items into an ObservableSource that emits those items.
|
static <T> Observable<T> |
just(T item1,
T item2,
T item3,
T item4,
T item5,
T item6,
T item7,
T item8,
T item9)
Converts nine items into an ObservableSource that emits those items.
|
static <T> Observable<T> |
just(T item1,
T item2,
T item3,
T item4,
T item5,
T item6,
T item7,
T item8,
T item9,
T item10)
Converts ten items into an ObservableSource that emits those items.
|
Single<T> |
last(T defaultItem)
Returns a Single that emits only the last item emitted by this Observable, or a default item
if this Observable completes without emitting any items.
|
Maybe<T> |
lastElement()
Returns a Maybe that emits the last item emitted by this Observable or
completes if this Observable is empty.
|
Single<T> |
lastOrError()
Returns a Single that emits only the last item emitted by this Observable or
signals a
NoSuchElementException if this Observable is empty. |
<R> Observable<R> |
lift(ObservableOperator<? extends R,? super T> lifter)
This method requires advanced knowledge about building operators; please consider
other standard composition methods first;
Lifts a function to the current ObservableSource and returns a new ObservableSource that when subscribed to will pass
the values of the current ObservableSource through the Operator function.
|
<R> Observable<R> |
map(Function<? super T,? extends R> mapper)
Returns an Observable that applies a specified function to each item emitted by the source ObservableSource and
emits the results of these function applications.
|
Observable<Notification<T>> |
materialize()
Returns an Observable that represents all of the emissions and notifications from the source
ObservableSource into emissions marked with their original types within
Notification objects. |
static <T> Observable<T> |
merge(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
Flattens an Iterable of ObservableSources into one ObservableSource, without any transformation.
|
static <T> Observable<T> |
merge(java.lang.Iterable<? extends ObservableSource<? extends T>> sources,
int maxConcurrency)
Flattens an Iterable of ObservableSources into one ObservableSource, without any transformation, while limiting the
number of concurrent subscriptions to these ObservableSources.
|
static <T> Observable<T> |
merge(java.lang.Iterable<? extends ObservableSource<? extends T>> sources,
int maxConcurrency,
int bufferSize)
Flattens an Iterable of ObservableSources into one ObservableSource, without any transformation, while limiting the
number of concurrent subscriptions to these ObservableSources.
|
static <T> Observable<T> |
merge(ObservableSource<? extends ObservableSource<? extends T>> sources)
Flattens an ObservableSource that emits ObservableSources into a single ObservableSource that emits the items emitted by
those ObservableSources, without any transformation.
|
static <T> Observable<T> |
merge(ObservableSource<? extends ObservableSource<? extends T>> sources,
int maxConcurrency)
Flattens an ObservableSource that emits ObservableSources into a single ObservableSource that emits the items emitted by
those ObservableSources, without any transformation, while limiting the maximum number of concurrent
subscriptions to these ObservableSources.
|
static <T> Observable<T> |
merge(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2)
Flattens two ObservableSources into a single ObservableSource, without any transformation.
|
static <T> Observable<T> |
merge(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2,
ObservableSource<? extends T> source3)
Flattens three ObservableSources into a single ObservableSource, without any transformation.
|
static <T> Observable<T> |
merge(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2,
ObservableSource<? extends T> source3,
ObservableSource<? extends T> source4)
Flattens four ObservableSources into a single ObservableSource, without any transformation.
|
static <T> Observable<T> |
mergeArray(int maxConcurrency,
int bufferSize,
ObservableSource<? extends T>... sources)
Flattens an Iterable of ObservableSources into one ObservableSource, without any transformation, while limiting the
number of concurrent subscriptions to these ObservableSources.
|
static <T> Observable<T> |
mergeArray(ObservableSource<? extends T>... sources)
Flattens an Array of ObservableSources into one ObservableSource, without any transformation.
|
static <T> Observable<T> |
mergeArrayDelayError(int maxConcurrency,
int bufferSize,
ObservableSource<? extends T>... sources)
Flattens an array of ObservableSources into one ObservableSource, in a way that allows an Observer to receive all
successfully emitted items from each of the source ObservableSources without being interrupted by an error
notification from one of them, while limiting the number of concurrent subscriptions to these ObservableSources.
|
static <T> Observable<T> |
mergeArrayDelayError(ObservableSource<? extends T>... sources)
Flattens an Iterable of ObservableSources into one ObservableSource, in a way that allows an Observer to receive all
successfully emitted items from each of the source ObservableSources without being interrupted by an error
notification from one of them.
|
static <T> Observable<T> |
mergeDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
Flattens an Iterable of ObservableSources into one ObservableSource, in a way that allows an Observer to receive all
successfully emitted items from each of the source ObservableSources without being interrupted by an error
notification from one of them.
|
static <T> Observable<T> |
mergeDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources,
int maxConcurrency)
Flattens an Iterable of ObservableSources into one ObservableSource, in a way that allows an Observer to receive all
successfully emitted items from each of the source ObservableSources without being interrupted by an error
notification from one of them, while limiting the number of concurrent subscriptions to these ObservableSources.
|
static <T> Observable<T> |
mergeDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources,
int maxConcurrency,
int bufferSize)
Flattens an Iterable of ObservableSources into one ObservableSource, in a way that allows an Observer to receive all
successfully emitted items from each of the source ObservableSources without being interrupted by an error
notification from one of them, while limiting the number of concurrent subscriptions to these ObservableSources.
|
static <T> Observable<T> |
mergeDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources)
Flattens an ObservableSource that emits ObservableSources into one ObservableSource, in a way that allows an Observer to
receive all successfully emitted items from all of the source ObservableSources without being interrupted by
an error notification from one of them.
|
static <T> Observable<T> |
mergeDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources,
int maxConcurrency)
Flattens an ObservableSource that emits ObservableSources into one ObservableSource, in a way that allows an Observer to
receive all successfully emitted items from all of the source ObservableSources without being interrupted by
an error notification from one of them, while limiting the
number of concurrent subscriptions to these ObservableSources.
|
static <T> Observable<T> |
mergeDelayError(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2)
Flattens two ObservableSources into one ObservableSource, in a way that allows an Observer to receive all
successfully emitted items from each of the source ObservableSources without being interrupted by an error
notification from one of them.
|
static <T> Observable<T> |
mergeDelayError(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2,
ObservableSource<? extends T> source3)
Flattens three ObservableSources into one ObservableSource, in a way that allows an Observer to receive all
successfully emitted items from all of the source ObservableSources without being interrupted by an error
notification from one of them.
|
static <T> Observable<T> |
mergeDelayError(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2,
ObservableSource<? extends T> source3,
ObservableSource<? extends T> source4)
Flattens four ObservableSources into one ObservableSource, in a way that allows an Observer to receive all
successfully emitted items from all of the source ObservableSources without being interrupted by an error
notification from one of them.
|
Observable<T> |
mergeWith(ObservableSource<? extends T> other)
Flattens this and another ObservableSource into a single ObservableSource, without any transformation.
|
static <T> Observable<T> |
never()
Returns an Observable that never sends any items or notifications to an
Observer . |
Observable<T> |
observeOn(Scheduler scheduler)
Modifies an ObservableSource to perform its emissions and notifications on a specified
Scheduler ,
asynchronously with an unbounded buffer with Flowable.bufferSize() "island size". |
Observable<T> |
observeOn(Scheduler scheduler,
boolean delayError)
Modifies an ObservableSource to perform its emissions and notifications on a specified
Scheduler ,
asynchronously with an unbounded buffer with Flowable.bufferSize() "island size" and optionally delays onError notifications. |
Observable<T> |
observeOn(Scheduler scheduler,
boolean delayError,
int bufferSize)
Modifies an ObservableSource to perform its emissions and notifications on a specified
Scheduler ,
asynchronously with an unbounded buffer of configurable "island size" and optionally delays onError notifications. |
<U> Observable<U> |
ofType(java.lang.Class<U> clazz)
Filters the items emitted by an ObservableSource, only emitting those of the specified type.
|
Observable<T> |
onErrorResumeNext(Function<? super java.lang.Throwable,? extends ObservableSource<? extends T>> resumeFunction)
Instructs an ObservableSource to pass control to another ObservableSource rather than invoking
onError if it encounters an error. |
Observable<T> |
onErrorResumeNext(ObservableSource<? extends T> next)
Instructs an ObservableSource to pass control to another ObservableSource rather than invoking
onError if it encounters an error. |
Observable<T> |
onErrorReturn(Function<? super java.lang.Throwable,? extends T> valueSupplier)
Instructs an ObservableSource to emit an item (returned by a specified function) rather than invoking
onError if it encounters an error. |
Observable<T> |
onErrorReturnItem(T item)
Instructs an ObservableSource to emit an item (returned by a specified function) rather than invoking
onError if it encounters an error. |
Observable<T> |
onExceptionResumeNext(ObservableSource<? extends T> next)
Instructs an ObservableSource to pass control to another ObservableSource rather than invoking
onError if it encounters an Exception . |
Observable<T> |
onTerminateDetach()
Nulls out references to the upstream producer and downstream Observer if
the sequence is terminated or downstream calls dispose().
|
ConnectableObservable<T> |
publish()
Returns a
ConnectableObservable , which is a variety of ObservableSource that waits until its
connect method is called before it begins emitting items to those
Observer s that have subscribed to it. |
<R> Observable<R> |
publish(Function<? super Observable<T>,? extends ObservableSource<R>> selector)
Returns an Observable that emits the results of invoking a specified selector on items emitted by a
ConnectableObservable that shares a single subscription to the underlying sequence. |
static Observable<java.lang.Integer> |
range(int start,
int count)
Returns an Observable that emits a sequence of Integers within a specified range.
|
static Observable<java.lang.Long> |
rangeLong(long start,
long count)
Returns an Observable that emits a sequence of Longs within a specified range.
|
Maybe<T> |
reduce(BiFunction<T,T,T> reducer)
Returns a Maybe that applies a specified accumulator function to the first item emitted by a source
ObservableSource, then feeds the result of that function along with the second item emitted by the source
ObservableSource into the same function, and so on until all items have been emitted by the source ObservableSource,
and emits the final result from the final call to your function as its sole item.
|
<R> Single<R> |
reduce(R seed,
BiFunction<R,? super T,R> reducer)
Returns an Observable that applies a specified accumulator function to the first item emitted by a source
ObservableSource and a specified seed value, then feeds the result of that function along with the second item
emitted by an ObservableSource into the same function, and so on until all items have been emitted by the
source ObservableSource, emitting the final result from the final call to your function as its sole item.
|
<R> Single<R> |
reduceWith(java.util.concurrent.Callable<R> seedSupplier,
BiFunction<R,? super T,R> reducer)
Returns a Single that applies a specified accumulator function to the first item emitted by a source
ObservableSource and a specified seed value, then feeds the result of that function along with the second item
emitted by an ObservableSource into the same function, and so on until all items have been emitted by the
source ObservableSource, emitting the final result from the final call to your function as its sole item.
|
Observable<T> |
repeat()
Returns an Observable that repeats the sequence of items emitted by the source ObservableSource indefinitely.
|
Observable<T> |
repeat(long times)
Returns an Observable that repeats the sequence of items emitted by the source ObservableSource at most
count times. |
Observable<T> |
repeatUntil(BooleanSupplier stop)
Returns an Observable that repeats the sequence of items emitted by the source ObservableSource until
the provided stop function returns true.
|
Observable<T> |
repeatWhen(Function<? super Observable<java.lang.Object>,? extends ObservableSource<?>> handler)
Returns an Observable that emits the same values as the source ObservableSource with the exception of an
onComplete . |
ConnectableObservable<T> |
replay()
Returns a
ConnectableObservable that shares a single subscription to the underlying ObservableSource
that will replay all of its items and notifications to any future Observer . |
<R> Observable<R> |
replay(Function<? super Observable<T>,? extends ObservableSource<R>> selector)
Returns an Observable that emits items that are the results of invoking a specified selector on the items
emitted by a
ConnectableObservable that shares a single subscription to the source ObservableSource. |
<R> Observable<R> |
replay(Function<? super Observable<T>,? extends ObservableSource<R>> selector,
int bufferSize)
Returns an Observable that emits items that are the results of invoking a specified selector on items
emitted by a
ConnectableObservable that shares a single subscription to the source ObservableSource,
replaying bufferSize notifications. |
<R> Observable<R> |
replay(Function<? super Observable<T>,? extends ObservableSource<R>> selector,
int bufferSize,
long time,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits items that are the results of invoking a specified selector on items
emitted by a
ConnectableObservable that shares a single subscription to the source ObservableSource,
replaying no more than bufferSize items that were emitted within a specified time window. |
<R> Observable<R> |
replay(Function<? super Observable<T>,? extends ObservableSource<R>> selector,
int bufferSize,
long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits items that are the results of invoking a specified selector on items
emitted by a
ConnectableObservable that shares a single subscription to the source ObservableSource,
replaying no more than bufferSize items that were emitted within a specified time window. |
<R> Observable<R> |
replay(Function<? super Observable<T>,? extends ObservableSource<R>> selector,
int bufferSize,
Scheduler scheduler)
Returns an Observable that emits items that are the results of invoking a specified selector on items
emitted by a
ConnectableObservable that shares a single subscription to the source ObservableSource,
replaying a maximum of bufferSize items. |
<R> Observable<R> |
replay(Function<? super Observable<T>,? extends ObservableSource<R>> selector,
long time,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits items that are the results of invoking a specified selector on items
emitted by a
ConnectableObservable that shares a single subscription to the source ObservableSource,
replaying all items that were emitted within a specified time window. |
<R> Observable<R> |
replay(Function<? super Observable<T>,? extends ObservableSource<R>> selector,
long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits items that are the results of invoking a specified selector on items
emitted by a
ConnectableObservable that shares a single subscription to the source ObservableSource,
replaying all items that were emitted within a specified time window. |
<R> Observable<R> |
replay(Function<? super Observable<T>,? extends ObservableSource<R>> selector,
Scheduler scheduler)
Returns an Observable that emits items that are the results of invoking a specified selector on items
emitted by a
ConnectableObservable that shares a single subscription to the source ObservableSource. |
ConnectableObservable<T> |
replay(int bufferSize)
Returns a
ConnectableObservable that shares a single subscription to the source ObservableSource that
replays at most bufferSize items emitted by that ObservableSource. |
ConnectableObservable<T> |
replay(int bufferSize,
long time,
java.util.concurrent.TimeUnit unit)
Returns a
ConnectableObservable that shares a single subscription to the source ObservableSource and
replays at most bufferSize items that were emitted during a specified time window. |
ConnectableObservable<T> |
replay(int bufferSize,
long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns a
ConnectableObservable that shares a single subscription to the source ObservableSource and
that replays a maximum of bufferSize items that are emitted within a specified time window. |
ConnectableObservable<T> |
replay(int bufferSize,
Scheduler scheduler)
Returns a
ConnectableObservable that shares a single subscription to the source ObservableSource and
replays at most bufferSize items emitted by that ObservableSource. |
ConnectableObservable<T> |
replay(long time,
java.util.concurrent.TimeUnit unit)
Returns a
ConnectableObservable that shares a single subscription to the source ObservableSource and
replays all items emitted by that ObservableSource within a specified time window. |
ConnectableObservable<T> |
replay(long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns a
ConnectableObservable that shares a single subscription to the source ObservableSource and
replays all items emitted by that ObservableSource within a specified time window. |
ConnectableObservable<T> |
replay(Scheduler scheduler)
Returns a
ConnectableObservable that shares a single subscription to the source ObservableSource that
will replay all of its items and notifications to any future Observer on the given
Scheduler . |
Observable<T> |
retry()
Returns an Observable that mirrors the source ObservableSource, resubscribing to it if it calls
onError
(infinite retry count). |
Observable<T> |
retry(BiPredicate<? super java.lang.Integer,? super java.lang.Throwable> predicate)
Returns an Observable that mirrors the source ObservableSource, resubscribing to it if it calls
onError
and the predicate returns true for that specific exception and retry count. |
Observable<T> |
retry(long times)
Returns an Observable that mirrors the source ObservableSource, resubscribing to it if it calls
onError
up to a specified number of retries. |
Observable<T> |
retry(long times,
Predicate<? super java.lang.Throwable> predicate)
Retries at most times or until the predicate returns false, whichever happens first.
|
Observable<T> |
retry(Predicate<? super java.lang.Throwable> predicate)
Retries the current Observable if the predicate returns true.
|
Observable<T> |
retryUntil(BooleanSupplier stop)
Retries until the given stop function returns true.
|
Observable<T> |
retryWhen(Function<? super Observable<java.lang.Throwable>,? extends ObservableSource<?>> handler)
Returns an Observable that emits the same values as the source ObservableSource with the exception of an
onError . |
void |
safeSubscribe(Observer<? super T> s)
Subscribes to the current Observable and wraps the given Observer into a SafeObserver
(if not already a SafeObserver) that
deals with exceptions thrown by a misbehaving Observer (that doesn't follow the
Reactive-Streams specification).
|
Observable<T> |
sample(long period,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits the most recently emitted item (if any) emitted by the source ObservableSource
within periodic time intervals.
|
Observable<T> |
sample(long period,
java.util.concurrent.TimeUnit unit,
boolean emitLast)
Returns an Observable that emits the most recently emitted item (if any) emitted by the source ObservableSource
within periodic time intervals and optionally emit the very last upstream item when the upstream completes.
|
Observable<T> |
sample(long period,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits the most recently emitted item (if any) emitted by the source ObservableSource
within periodic time intervals, where the intervals are defined on a particular Scheduler.
|
Observable<T> |
sample(long period,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
boolean emitLast)
Returns an Observable that emits the most recently emitted item (if any) emitted by the source ObservableSource
within periodic time intervals, where the intervals are defined on a particular Scheduler
and optionally emit the very last upstream item when the upstream completes.
|
<U> Observable<T> |
sample(ObservableSource<U> sampler)
Returns an Observable that, when the specified
sampler ObservableSource emits an item or completes,
emits the most recently emitted item (if any) emitted by the source ObservableSource since the previous
emission from the sampler ObservableSource. |
<U> Observable<T> |
sample(ObservableSource<U> sampler,
boolean emitLast)
Returns an Observable that, when the specified
sampler ObservableSource emits an item or completes,
emits the most recently emitted item (if any) emitted by the source ObservableSource since the previous
emission from the sampler ObservableSource
and optionally emit the very last upstream item when the upstream or other ObservableSource complete. |
Observable<T> |
scan(BiFunction<T,T,T> accumulator)
Returns an Observable that applies a specified accumulator function to the first item emitted by a source
ObservableSource, then feeds the result of that function along with the second item emitted by the source
ObservableSource into the same function, and so on until all items have been emitted by the source ObservableSource,
emitting the result of each of these iterations.
|
<R> Observable<R> |
scan(R initialValue,
BiFunction<R,? super T,R> accumulator)
Returns an Observable that applies a specified accumulator function to the first item emitted by a source
ObservableSource and a seed value, then feeds the result of that function along with the second item emitted by
the source ObservableSource into the same function, and so on until all items have been emitted by the source
ObservableSource, emitting the result of each of these iterations.
|
<R> Observable<R> |
scanWith(java.util.concurrent.Callable<R> seedSupplier,
BiFunction<R,? super T,R> accumulator)
Returns an Observable that applies a specified accumulator function to the first item emitted by a source
ObservableSource and a seed value, then feeds the result of that function along with the second item emitted by
the source ObservableSource into the same function, and so on until all items have been emitted by the source
ObservableSource, emitting the result of each of these iterations.
|
static <T> Single<java.lang.Boolean> |
sequenceEqual(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2)
Returns a Single that emits a Boolean value that indicates whether two ObservableSource sequences are the
same by comparing the items emitted by each ObservableSource pairwise.
|
static <T> Single<java.lang.Boolean> |
sequenceEqual(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2,
BiPredicate<? super T,? super T> isEqual)
Returns a Single that emits a Boolean value that indicates whether two ObservableSource sequences are the
same by comparing the items emitted by each ObservableSource pairwise based on the results of a specified
equality function.
|
static <T> Single<java.lang.Boolean> |
sequenceEqual(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2,
BiPredicate<? super T,? super T> isEqual,
int bufferSize)
Returns a Single that emits a Boolean value that indicates whether two ObservableSource sequences are the
same by comparing the items emitted by each ObservableSource pairwise based on the results of a specified
equality function.
|
static <T> Single<java.lang.Boolean> |
sequenceEqual(ObservableSource<? extends T> source1,
ObservableSource<? extends T> source2,
int bufferSize)
Returns a Single that emits a Boolean value that indicates whether two ObservableSource sequences are the
same by comparing the items emitted by each ObservableSource pairwise.
|
Observable<T> |
serialize()
Forces an ObservableSource's emissions and notifications to be serialized and for it to obey
the ObservableSource contract in other ways.
|
Observable<T> |
share()
Returns a new
ObservableSource that multicasts (shares) the original ObservableSource . |
Single<T> |
single(T defaultItem)
Returns a Single that emits the single item emitted by this Observable, if this Observable
emits only a single item, or a default item if the source ObservableSource emits no items.
|
Maybe<T> |
singleElement()
Returns a Maybe that emits the single item emitted by this Observable if this Observable
emits only a single item, otherwise if this Observable emits more than one item or no items, an
IllegalArgumentException or NoSuchElementException is signalled respectively. |
Single<T> |
singleOrError()
Returns a Single that emits the single item emitted by this Observable if this Observable
emits only a single item, otherwise
if this Observable completes without emitting any items or emits more than one item a
NoSuchElementException or IllegalArgumentException will be signalled respectively. |
Observable<T> |
skip(long count)
Returns an Observable that skips the first
count items emitted by the source ObservableSource and emits
the remainder. |
Observable<T> |
skip(long time,
java.util.concurrent.TimeUnit unit)
Returns an Observable that skips values emitted by the source ObservableSource before a specified time window
elapses.
|
Observable<T> |
skip(long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that skips values emitted by the source ObservableSource before a specified time window
on a specified
Scheduler elapses. |
Observable<T> |
skipLast(int count)
Returns an Observable that drops a specified number of items from the end of the sequence emitted by the
source ObservableSource.
|
Observable<T> |
skipLast(long time,
java.util.concurrent.TimeUnit unit)
Returns an Observable that drops items emitted by the source ObservableSource during a specified time window
before the source completes.
|
Observable<T> |
skipLast(long time,
java.util.concurrent.TimeUnit unit,
boolean delayError)
Returns an Observable that drops items emitted by the source ObservableSource during a specified time window
before the source completes.
|
Observable<T> |
skipLast(long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that drops items emitted by the source ObservableSource during a specified time window
(defined on a specified scheduler) before the source completes.
|
Observable<T> |
skipLast(long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
boolean delayError)
Returns an Observable that drops items emitted by the source ObservableSource during a specified time window
(defined on a specified scheduler) before the source completes.
|
Observable<T> |
skipLast(long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
boolean delayError,
int bufferSize)
Returns an Observable that drops items emitted by the source ObservableSource during a specified time window
(defined on a specified scheduler) before the source completes.
|
<U> Observable<T> |
skipUntil(ObservableSource<U> other)
Returns an Observable that skips items emitted by the source ObservableSource until a second ObservableSource emits
an item.
|
Observable<T> |
skipWhile(Predicate<? super T> predicate)
Returns an Observable that skips all items emitted by the source ObservableSource as long as a specified
condition holds true, but emits all further source items as soon as the condition becomes false.
|
Observable<T> |
sorted()
Returns an Observable that emits the events emitted by source ObservableSource, in a
sorted order.
|
Observable<T> |
sorted(java.util.Comparator<? super T> sortFunction)
Returns an Observable that emits the events emitted by source ObservableSource, in a
sorted order based on a specified comparison function.
|
Observable<T> |
startWith(java.lang.Iterable<? extends T> items)
Returns an Observable that emits the items in a specified
Iterable before it begins to emit items
emitted by the source ObservableSource. |
Observable<T> |
startWith(ObservableSource<? extends T> other)
Returns an Observable that emits the items in a specified
ObservableSource before it begins to emit
items emitted by the source ObservableSource. |
Observable<T> |
startWith(T item)
Returns an Observable that emits a specified item before it begins to emit items emitted by the source
ObservableSource.
|
Observable<T> |
startWithArray(T... items)
Returns an Observable that emits the specified items before it begins to emit items emitted by the source
ObservableSource.
|
Disposable |
subscribe()
Subscribes to an ObservableSource and ignores
onNext and onComplete emissions. |
Disposable |
subscribe(Consumer<? super T> onNext)
Subscribes to an ObservableSource and provides a callback to handle the items it emits.
|
Disposable |
subscribe(Consumer<? super T> onNext,
Consumer<? super java.lang.Throwable> onError)
Subscribes to an ObservableSource and provides callbacks to handle the items it emits and any error
notification it issues.
|
Disposable |
subscribe(Consumer<? super T> onNext,
Consumer<? super java.lang.Throwable> onError,
Action onComplete)
Subscribes to an ObservableSource and provides callbacks to handle the items it emits and any error or
completion notification it issues.
|
Disposable |
subscribe(Consumer<? super T> onNext,
Consumer<? super java.lang.Throwable> onError,
Action onComplete,
Consumer<? super Disposable> onSubscribe)
Subscribes to an ObservableSource and provides callbacks to handle the items it emits and any error or
completion notification it issues.
|
void |
subscribe(Observer<? super T> observer)
Subscribes the given Observer to this ObservableSource instance.
|
protected abstract void |
subscribeActual(Observer<? super T> observer)
Operator implementations (both source and intermediate) should implement this method that
performs the necessary business logic.
|
Observable<T> |
subscribeOn(Scheduler scheduler)
Asynchronously subscribes Observers to this ObservableSource on the specified
Scheduler . |
<E extends Observer<? super T>> |
subscribeWith(E observer)
Subscribes a given Observer (subclass) to this Observable and returns the given
Observer as is.
|
Observable<T> |
switchIfEmpty(ObservableSource<? extends T> other)
Returns an Observable that emits the items emitted by the source ObservableSource or the items of an alternate
ObservableSource if the source ObservableSource is empty.
|
<R> Observable<R> |
switchMap(Function<? super T,? extends ObservableSource<? extends R>> mapper)
Returns a new ObservableSource by applying a function that you supply to each item emitted by the source
ObservableSource that returns an ObservableSource, and then emitting the items emitted by the most recently emitted
of these ObservableSources.
|
<R> Observable<R> |
switchMap(Function<? super T,? extends ObservableSource<? extends R>> mapper,
int bufferSize)
Returns a new ObservableSource by applying a function that you supply to each item emitted by the source
ObservableSource that returns an ObservableSource, and then emitting the items emitted by the most recently emitted
of these ObservableSources.
|
<R> Observable<R> |
switchMapDelayError(Function<? super T,? extends ObservableSource<? extends R>> mapper)
Returns a new ObservableSource by applying a function that you supply to each item emitted by the source
ObservableSource that returns an ObservableSource, and then emitting the items emitted by the most recently emitted
of these ObservableSources and delays any error until all ObservableSources terminate.
|
<R> Observable<R> |
switchMapDelayError(Function<? super T,? extends ObservableSource<? extends R>> mapper,
int bufferSize)
Returns a new ObservableSource by applying a function that you supply to each item emitted by the source
ObservableSource that returns an ObservableSource, and then emitting the items emitted by the most recently emitted
of these ObservableSources and delays any error until all ObservableSources terminate.
|
<R> Observable<R> |
switchMapSingle(Function<? super T,? extends SingleSource<? extends R>> mapper)
Returns a new ObservableSource by applying a function that you supply to each item emitted by the source
ObservableSource that returns a SingleSource, and then emitting the item emitted by the most recently emitted
of these SingleSources.
|
<R> Observable<R> |
switchMapSingleDelayError(Function<? super T,? extends SingleSource<? extends R>> mapper)
Returns a new ObservableSource by applying a function that you supply to each item emitted by the source
ObservableSource that returns a SingleSource, and then emitting the item emitted by the most recently emitted
of these SingleSources and delays any error until all SingleSources terminate.
|
static <T> Observable<T> |
switchOnNext(ObservableSource<? extends ObservableSource<? extends T>> sources)
Converts an ObservableSource that emits ObservableSources into an ObservableSource that emits the items emitted by the
most recently emitted of those ObservableSources.
|
static <T> Observable<T> |
switchOnNext(ObservableSource<? extends ObservableSource<? extends T>> sources,
int bufferSize)
Converts an ObservableSource that emits ObservableSources into an ObservableSource that emits the items emitted by the
most recently emitted of those ObservableSources.
|
static <T> Observable<T> |
switchOnNextDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources)
Converts an ObservableSource that emits ObservableSources into an ObservableSource that emits the items emitted by the
most recently emitted of those ObservableSources and delays any exception until all ObservableSources terminate.
|
static <T> Observable<T> |
switchOnNextDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources,
int prefetch)
Converts an ObservableSource that emits ObservableSources into an ObservableSource that emits the items emitted by the
most recently emitted of those ObservableSources and delays any exception until all ObservableSources terminate.
|
Observable<T> |
take(long count)
Returns an Observable that emits only the first
count items emitted by the source ObservableSource. |
Observable<T> |
take(long time,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits those items emitted by source ObservableSource before a specified time runs
out.
|
Observable<T> |
take(long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits those items emitted by source ObservableSource before a specified time (on a
specified Scheduler) runs out.
|
Observable<T> |
takeLast(int count)
Returns an Observable that emits at most the last
count items emitted by the source ObservableSource. |
Observable<T> |
takeLast(long count,
long time,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits at most a specified number of items from the source ObservableSource that were
emitted in a specified window of time before the ObservableSource completed.
|
Observable<T> |
takeLast(long count,
long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits at most a specified number of items from the source ObservableSource that were
emitted in a specified window of time before the ObservableSource completed, where the timing information is
provided by a given Scheduler.
|
Observable<T> |
takeLast(long count,
long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
boolean delayError,
int bufferSize)
Returns an Observable that emits at most a specified number of items from the source ObservableSource that were
emitted in a specified window of time before the ObservableSource completed, where the timing information is
provided by a given Scheduler.
|
Observable<T> |
takeLast(long time,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits the items from the source ObservableSource that were emitted in a specified
window of time before the ObservableSource completed.
|
Observable<T> |
takeLast(long time,
java.util.concurrent.TimeUnit unit,
boolean delayError)
Returns an Observable that emits the items from the source ObservableSource that were emitted in a specified
window of time before the ObservableSource completed.
|
Observable<T> |
takeLast(long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits the items from the source ObservableSource that were emitted in a specified
window of time before the ObservableSource completed, where the timing information is provided by a specified
Scheduler.
|
Observable<T> |
takeLast(long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
boolean delayError)
Returns an Observable that emits the items from the source ObservableSource that were emitted in a specified
window of time before the ObservableSource completed, where the timing information is provided by a specified
Scheduler.
|
Observable<T> |
takeLast(long time,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
boolean delayError,
int bufferSize)
Returns an Observable that emits the items from the source ObservableSource that were emitted in a specified
window of time before the ObservableSource completed, where the timing information is provided by a specified
Scheduler.
|
<U> Observable<T> |
takeUntil(ObservableSource<U> other)
Returns an Observable that emits the items emitted by the source Observable until a second ObservableSource
emits an item.
|
Observable<T> |
takeUntil(Predicate<? super T> stopPredicate)
Returns an Observable that emits items emitted by the source Observable, checks the specified predicate
for each item, and then completes when the condition is satisfied.
|
Observable<T> |
takeWhile(Predicate<? super T> predicate)
Returns an Observable that emits items emitted by the source ObservableSource so long as each item satisfied a
specified condition, and then completes as soon as this condition is not satisfied.
|
TestObserver<T> |
test()
Creates a TestObserver and subscribes
it to this Observable.
|
TestObserver<T> |
test(boolean dispose)
Creates a TestObserver, optionally disposes it and then subscribes
it to this Observable.
|
Observable<T> |
throttleFirst(long windowDuration,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits only the first item emitted by the source ObservableSource during sequential
time windows of a specified duration.
|
Observable<T> |
throttleFirst(long skipDuration,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits only the first item emitted by the source ObservableSource during sequential
time windows of a specified duration, where the windows are managed by a specified Scheduler.
|
Observable<T> |
throttleLast(long intervalDuration,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits only the last item emitted by the source ObservableSource during sequential
time windows of a specified duration.
|
Observable<T> |
throttleLast(long intervalDuration,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits only the last item emitted by the source ObservableSource during sequential
time windows of a specified duration, where the duration is governed by a specified Scheduler.
|
Observable<T> |
throttleWithTimeout(long timeout,
java.util.concurrent.TimeUnit unit)
Returns an Observable that only emits those items emitted by the source ObservableSource that are not followed
by another emitted item within a specified time window.
|
Observable<T> |
throttleWithTimeout(long timeout,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that only emits those items emitted by the source ObservableSource that are not followed
by another emitted item within a specified time window, where the time window is governed by a specified
Scheduler.
|
Observable<Timed<T>> |
timeInterval()
Returns an Observable that emits records of the time interval between consecutive items emitted by the
source ObservableSource.
|
Observable<Timed<T>> |
timeInterval(Scheduler scheduler)
Returns an Observable that emits records of the time interval between consecutive items emitted by the
source ObservableSource, where this interval is computed on a specified Scheduler.
|
Observable<Timed<T>> |
timeInterval(java.util.concurrent.TimeUnit unit)
Returns an Observable that emits records of the time interval between consecutive items emitted by the
source ObservableSource.
|
Observable<Timed<T>> |
timeInterval(java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits records of the time interval between consecutive items emitted by the
source ObservableSource, where this interval is computed on a specified Scheduler.
|
<V> Observable<T> |
timeout(Function<? super T,? extends ObservableSource<V>> itemTimeoutIndicator)
Returns an Observable that mirrors the source ObservableSource, but notifies observers of a
TimeoutException if an item emitted by the source ObservableSource doesn't arrive within a window of
time after the emission of the previous item, where that period of time is measured by an ObservableSource that
is a function of the previous item. |
<V> Observable<T> |
timeout(Function<? super T,? extends ObservableSource<V>> itemTimeoutIndicator,
ObservableSource<? extends T> other)
Returns an Observable that mirrors the source ObservableSource, but that switches to a fallback ObservableSource if
an item emitted by the source ObservableSource doesn't arrive within a window of time after the emission of the
previous item, where that period of time is measured by an ObservableSource that is a function of the previous
item.
|
Observable<T> |
timeout(long timeout,
java.util.concurrent.TimeUnit timeUnit)
Returns an Observable that mirrors the source ObservableSource but applies a timeout policy for each emitted
item.
|
Observable<T> |
timeout(long timeout,
java.util.concurrent.TimeUnit timeUnit,
ObservableSource<? extends T> other)
Returns an Observable that mirrors the source ObservableSource but applies a timeout policy for each emitted
item.
|
Observable<T> |
timeout(long timeout,
java.util.concurrent.TimeUnit timeUnit,
Scheduler scheduler)
Returns an Observable that mirrors the source ObservableSource but applies a timeout policy for each emitted
item, where this policy is governed on a specified Scheduler.
|
Observable<T> |
timeout(long timeout,
java.util.concurrent.TimeUnit timeUnit,
Scheduler scheduler,
ObservableSource<? extends T> other)
Returns an Observable that mirrors the source ObservableSource but applies a timeout policy for each emitted
item using a specified Scheduler.
|
<U,V> Observable<T> |
timeout(ObservableSource<U> firstTimeoutIndicator,
Function<? super T,? extends ObservableSource<V>> itemTimeoutIndicator)
Returns an Observable that mirrors the source ObservableSource, but notifies observers of a
TimeoutException if either the first item emitted by the source ObservableSource or any subsequent item
doesn't arrive within time windows defined by other ObservableSources. |
<U,V> Observable<T> |
timeout(ObservableSource<U> firstTimeoutIndicator,
Function<? super T,? extends ObservableSource<V>> itemTimeoutIndicator,
ObservableSource<? extends T> other)
Returns an Observable that mirrors the source ObservableSource, but switches to a fallback ObservableSource if either
the first item emitted by the source ObservableSource or any subsequent item doesn't arrive within time windows
defined by other ObservableSources.
|
static Observable<java.lang.Long> |
timer(long delay,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits
0L after a specified delay, and then completes. |
static Observable<java.lang.Long> |
timer(long delay,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits
0L after a specified delay, on a specified Scheduler, and then
completes. |
Observable<Timed<T>> |
timestamp()
Returns an Observable that emits each item emitted by the source ObservableSource, wrapped in a
Timed object. |
Observable<Timed<T>> |
timestamp(Scheduler scheduler)
Returns an Observable that emits each item emitted by the source ObservableSource, wrapped in a
Timed object whose timestamps are provided by a specified Scheduler. |
Observable<Timed<T>> |
timestamp(java.util.concurrent.TimeUnit unit)
Returns an Observable that emits each item emitted by the source ObservableSource, wrapped in a
Timed object. |
Observable<Timed<T>> |
timestamp(java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits each item emitted by the source ObservableSource, wrapped in a
Timed object whose timestamps are provided by a specified Scheduler. |
<R> R |
to(Function<? super Observable<T>,R> converter)
Calls the specified converter function during assembly time and returns its resulting value.
|
Flowable<T> |
toFlowable(BackpressureStrategy strategy)
Converts the current Observable into a Flowable by applying the specified backpressure strategy.
|
java.util.concurrent.Future<T> |
toFuture()
Returns a
Future representing the single value emitted by this Observable . |
Single<java.util.List<T>> |
toList()
Returns a Single that emits a single item, a list composed of all the items emitted by the source
ObservableSource.
|
<U extends java.util.Collection<? super T>> |
toList(java.util.concurrent.Callable<U> collectionSupplier)
Returns a Single that emits a single item, a list composed of all the items emitted by the source
ObservableSource.
|
Single<java.util.List<T>> |
toList(int capacityHint)
Returns a Single that emits a single item, a list composed of all the items emitted by the source
ObservableSource.
|
<K> Single<java.util.Map<K,T>> |
toMap(Function<? super T,? extends K> keySelector)
Returns a Single that emits a single HashMap containing all items emitted by the source ObservableSource,
mapped by the keys returned by a specified
keySelector function. |
<K,V> Single<java.util.Map<K,V>> |
toMap(Function<? super T,? extends K> keySelector,
Function<? super T,? extends V> valueSelector)
Returns a Single that emits a single HashMap containing values corresponding to items emitted by the
source ObservableSource, mapped by the keys returned by a specified
keySelector function. |
<K,V> Single<java.util.Map<K,V>> |
toMap(Function<? super T,? extends K> keySelector,
Function<? super T,? extends V> valueSelector,
java.util.concurrent.Callable<? extends java.util.Map<K,V>> mapSupplier)
Returns a Single that emits a single Map, returned by a specified
mapFactory function, that
contains keys and values extracted from the items emitted by the source ObservableSource. |
<K> Single<java.util.Map<K,java.util.Collection<T>>> |
toMultimap(Function<? super T,? extends K> keySelector)
Returns a Single that emits a single HashMap that contains an ArrayList of items emitted by the
source ObservableSource keyed by a specified
keySelector function. |
<K,V> Single<java.util.Map<K,java.util.Collection<V>>> |
toMultimap(Function<? super T,? extends K> keySelector,
Function<? super T,? extends V> valueSelector)
Returns a Single that emits a single HashMap that contains an ArrayList of values extracted by a
specified
valueSelector function from items emitted by the source ObservableSource, keyed by a
specified keySelector function. |
<K,V> Single<java.util.Map<K,java.util.Collection<V>>> |
toMultimap(Function<? super T,? extends K> keySelector,
Function<? super T,? extends V> valueSelector,
java.util.concurrent.Callable<? extends java.util.Map<K,java.util.Collection<V>>> mapSupplier,
Function<? super K,? extends java.util.Collection<? super V>> collectionFactory)
Returns a Single that emits a single Map, returned by a specified
mapFactory function, that
contains a custom collection of values, extracted by a specified valueSelector function from
items emitted by the source ObservableSource, and keyed by the keySelector function. |
<K,V> Single<java.util.Map<K,java.util.Collection<V>>> |
toMultimap(Function<? super T,? extends K> keySelector,
Function<? super T,? extends V> valueSelector,
java.util.concurrent.Callable<java.util.Map<K,java.util.Collection<V>>> mapSupplier)
Returns a Single that emits a single Map, returned by a specified
mapFactory function, that
contains an ArrayList of values, extracted by a specified valueSelector function from items
emitted by the source ObservableSource and keyed by the keySelector function. |
Single<java.util.List<T>> |
toSortedList()
Returns a Single that emits a list that contains the items emitted by the source ObservableSource, in a
sorted order.
|
Single<java.util.List<T>> |
toSortedList(java.util.Comparator<? super T> comparator)
Returns a Single that emits a list that contains the items emitted by the source ObservableSource, in a
sorted order based on a specified comparison function.
|
Single<java.util.List<T>> |
toSortedList(java.util.Comparator<? super T> comparator,
int capacityHint)
Returns a Single that emits a list that contains the items emitted by the source ObservableSource, in a
sorted order based on a specified comparison function.
|
Single<java.util.List<T>> |
toSortedList(int capacityHint)
Returns a Single that emits a list that contains the items emitted by the source ObservableSource, in a
sorted order.
|
static <T> Observable<T> |
unsafeCreate(ObservableSource<T> onSubscribe)
Create an Observable by wrapping an ObservableSource which has to be implemented according
to the Reactive-Streams-based Observable specification by handling
cancellation correctly; no safeguards are provided by the Observable itself.
|
Observable<T> |
unsubscribeOn(Scheduler scheduler)
Modifies the source ObservableSource so that subscribers will dispose it on a specified
Scheduler . |
static <T,D> Observable<T> |
using(java.util.concurrent.Callable<? extends D> resourceSupplier,
Function<? super D,? extends ObservableSource<? extends T>> sourceSupplier,
Consumer<? super D> disposer)
Constructs an ObservableSource that creates a dependent resource object which is disposed of when the downstream
calls dispose().
|
static <T,D> Observable<T> |
using(java.util.concurrent.Callable<? extends D> resourceSupplier,
Function<? super D,? extends ObservableSource<? extends T>> sourceSupplier,
Consumer<? super D> disposer,
boolean eager)
Constructs an ObservableSource that creates a dependent resource object which is disposed of just before
termination if you have set
disposeEagerly to true and a dispose() call does not occur
before termination. |
<B> Observable<Observable<T>> |
window(java.util.concurrent.Callable<? extends ObservableSource<B>> boundary)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
<B> Observable<Observable<T>> |
window(java.util.concurrent.Callable<? extends ObservableSource<B>> boundary,
int bufferSize)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long count)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long count,
long skip)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long count,
long skip,
int bufferSize)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long timespan,
long timeskip,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long timespan,
long timeskip,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long timespan,
long timeskip,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
int bufferSize)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long timespan,
java.util.concurrent.TimeUnit unit)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long timespan,
java.util.concurrent.TimeUnit unit,
long count)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long timespan,
java.util.concurrent.TimeUnit unit,
long count,
boolean restart)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long timespan,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long timespan,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
long count)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long timespan,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
long count,
boolean restart)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
Observable<Observable<T>> |
window(long timespan,
java.util.concurrent.TimeUnit unit,
Scheduler scheduler,
long count,
boolean restart,
int bufferSize)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
<B> Observable<Observable<T>> |
window(ObservableSource<B> boundary)
Returns an Observable that emits non-overlapping windows of items it collects from the source ObservableSource
where the boundary of each window is determined by the items emitted from a specified boundary-governing
ObservableSource.
|
<B> Observable<Observable<T>> |
window(ObservableSource<B> boundary,
int bufferSize)
Returns an Observable that emits non-overlapping windows of items it collects from the source ObservableSource
where the boundary of each window is determined by the items emitted from a specified boundary-governing
ObservableSource.
|
<U,V> Observable<Observable<T>> |
window(ObservableSource<U> openingIndicator,
Function<? super U,? extends ObservableSource<V>> closingIndicator)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
<U,V> Observable<Observable<T>> |
window(ObservableSource<U> openingIndicator,
Function<? super U,? extends ObservableSource<V>> closingIndicator,
int bufferSize)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
|
<R> Observable<R> |
withLatestFrom(java.lang.Iterable<? extends ObservableSource<?>> others,
Function<? super java.lang.Object[],R> combiner)
Combines the value emission from this ObservableSource with the latest emissions from the
other ObservableSources via a function to produce the output item.
|
<R> Observable<R> |
withLatestFrom(ObservableSource<?>[] others,
Function<? super java.lang.Object[],R> combiner)
Combines the value emission from this ObservableSource with the latest emissions from the
other ObservableSources via a function to produce the output item.
|
<U,R> Observable<R> |
withLatestFrom(ObservableSource<? extends U> other,
BiFunction<? super T,? super U,? extends R> combiner)
Merges the specified ObservableSource into this ObservableSource sequence by using the
resultSelector
function only when the source ObservableSource (this instance) emits an item. |
<T1,T2,R> Observable<R> |
withLatestFrom(ObservableSource<T1> o1,
ObservableSource<T2> o2,
Function3<? super T,? super T1,? super T2,R> combiner)
Combines the value emission from this ObservableSource with the latest emissions from the
other ObservableSources via a function to produce the output item.
|
<T1,T2,T3,R> |
withLatestFrom(ObservableSource<T1> o1,
ObservableSource<T2> o2,
ObservableSource<T3> o3,
Function4<? super T,? super T1,? super T2,? super T3,R> combiner)
Combines the value emission from this ObservableSource with the latest emissions from the
other ObservableSources via a function to produce the output item.
|
<T1,T2,T3,T4,R> |
withLatestFrom(ObservableSource<T1> o1,
ObservableSource<T2> o2,
ObservableSource<T3> o3,
ObservableSource<T4> o4,
Function5<? super T,? super T1,? super T2,? super T3,? super T4,R> combiner)
Combines the value emission from this ObservableSource with the latest emissions from the
other ObservableSources via a function to produce the output item.
|
static <T> Observable<T> |
wrap(ObservableSource<T> source)
Wraps an ObservableSource into an Observable if not already an Observable.
|
static <T,R> Observable<R> |
zip(java.lang.Iterable<? extends ObservableSource<? extends T>> sources,
Function<? super java.lang.Object[],? extends R> zipper)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
items emitted, in sequence, by an Iterable of other ObservableSources.
|
static <T,R> Observable<R> |
zip(ObservableSource<? extends ObservableSource<? extends T>> sources,
Function<? super java.lang.Object[],? extends R> zipper)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
n items emitted, in sequence, by the n ObservableSources emitted by a specified ObservableSource.
|
static <T1,T2,R> Observable<R> |
zip(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
BiFunction<? super T1,? super T2,? extends R> zipper)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
two items emitted, in sequence, by two other ObservableSources.
|
static <T1,T2,R> Observable<R> |
zip(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
BiFunction<? super T1,? super T2,? extends R> zipper,
boolean delayError)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
two items emitted, in sequence, by two other ObservableSources.
|
static <T1,T2,R> Observable<R> |
zip(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
BiFunction<? super T1,? super T2,? extends R> zipper,
boolean delayError,
int bufferSize)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
two items emitted, in sequence, by two other ObservableSources.
|
static <T1,T2,T3,R> |
zip(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
Function3<? super T1,? super T2,? super T3,? extends R> zipper)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
three items emitted, in sequence, by three other ObservableSources.
|
static <T1,T2,T3,T4,R> |
zip(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
four items emitted, in sequence, by four other ObservableSources.
|
static <T1,T2,T3,T4,T5,R> |
zip(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
ObservableSource<? extends T5> source5,
Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
five items emitted, in sequence, by five other ObservableSources.
|
static <T1,T2,T3,T4,T5,T6,R> |
zip(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
ObservableSource<? extends T5> source5,
ObservableSource<? extends T6> source6,
Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
six items emitted, in sequence, by six other ObservableSources.
|
static <T1,T2,T3,T4,T5,T6,T7,R> |
zip(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
ObservableSource<? extends T5> source5,
ObservableSource<? extends T6> source6,
ObservableSource<? extends T7> source7,
Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
seven items emitted, in sequence, by seven other ObservableSources.
|
static <T1,T2,T3,T4,T5,T6,T7,T8,R> |
zip(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
ObservableSource<? extends T5> source5,
ObservableSource<? extends T6> source6,
ObservableSource<? extends T7> source7,
ObservableSource<? extends T8> source8,
Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
eight items emitted, in sequence, by eight other ObservableSources.
|
static <T1,T2,T3,T4,T5,T6,T7,T8,T9,R> |
zip(ObservableSource<? extends T1> source1,
ObservableSource<? extends T2> source2,
ObservableSource<? extends T3> source3,
ObservableSource<? extends T4> source4,
ObservableSource<? extends T5> source5,
ObservableSource<? extends T6> source6,
ObservableSource<? extends T7> source7,
ObservableSource<? extends T8> source8,
ObservableSource<? 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 an Observable that emits the results of a specified combiner function applied to combinations of
nine items emitted, in sequence, by nine other ObservableSources.
|
static <T,R> Observable<R> |
zipArray(Function<? super java.lang.Object[],? extends R> zipper,
boolean delayError,
int bufferSize,
ObservableSource<? extends T>... sources)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
items emitted, in sequence, by an array of other ObservableSources.
|
static <T,R> Observable<R> |
zipIterable(java.lang.Iterable<? extends ObservableSource<? extends T>> sources,
Function<? super java.lang.Object[],? extends R> zipper,
boolean delayError,
int bufferSize)
Returns an Observable that emits the results of a specified combiner function applied to combinations of
items emitted, in sequence, by an Iterable of other ObservableSources.
|
<U,R> Observable<R> |
zipWith(java.lang.Iterable<U> other,
BiFunction<? super T,? super U,? extends R> zipper)
Returns an Observable that emits items that are the result of applying a specified function to pairs of
values, one each from the source ObservableSource and a specified Iterable sequence.
|
<U,R> Observable<R> |
zipWith(ObservableSource<? extends U> other,
BiFunction<? super T,? super U,? extends R> zipper)
Returns an Observable that emits items that are the result of applying a specified function to pairs of
values, one each from the source ObservableSource and another specified ObservableSource.
|
<U,R> Observable<R> |
zipWith(ObservableSource<? extends U> other,
BiFunction<? super T,? super U,? extends R> zipper,
boolean delayError)
Returns an Observable that emits items that are the result of applying a specified function to pairs of
values, one each from the source ObservableSource and another specified ObservableSource.
|
<U,R> Observable<R> |
zipWith(ObservableSource<? extends U> other,
BiFunction<? super T,? super U,? extends R> zipper,
boolean delayError,
int bufferSize)
Returns an Observable that emits items that are the result of applying a specified function to pairs of
values, one each from the source ObservableSource and another specified ObservableSource.
|
@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> amb(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
amb
does not operate by default on a particular Scheduler
.T
- the common element typesources
- an Iterable of ObservableSource sources competing to react first. A subscription to each source will
occur in the same order as in the Iterable.@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> ambArray(ObservableSource<? extends T>... sources)
ambArray
does not operate by default on a particular Scheduler
.T
- the common element typesources
- an array of ObservableSource sources competing to react first. A subscription to each source will
occur in the same order as in the array.public static int bufferSize()
Delegates to Flowable.bufferSize()
but is public for convenience.
The value can be overridden via system parameter rx2.buffer-size
before the Flowable
class is loaded.
@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> combineLatest(Function<? super java.lang.Object[],? extends R> combiner, int bufferSize, ObservableSource<? extends T>... sources)
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 sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T
- the common base type of source valuesR
- the result typesources
- the collection of source ObservableSourcescombiner
- the aggregation function used to combine the items emitted by the source ObservableSourcesbufferSize
- the internal buffer size and prefetch amount applied to every source Observable@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> combineLatest(java.lang.Iterable<? extends ObservableSource<? extends T>> sources, Function<? super java.lang.Object[],? extends R> combiner)
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 sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T
- the common base type of source valuesR
- the result typesources
- the collection of source ObservableSourcescombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> combineLatest(java.lang.Iterable<? extends ObservableSource<? extends T>> sources, Function<? super java.lang.Object[],? extends R> combiner, int bufferSize)
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 sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T
- the common base type of source valuesR
- the result typesources
- the collection of source ObservableSourcescombiner
- the aggregation function used to combine the items emitted by the source ObservableSourcesbufferSize
- the internal buffer size and prefetch amount applied to every source Observable@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> combineLatest(ObservableSource<? extends T>[] sources, Function<? super java.lang.Object[],? extends R> combiner)
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 sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T
- the common base type of source valuesR
- the result typesources
- the collection of source ObservableSourcescombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> combineLatest(ObservableSource<? extends T>[] sources, Function<? super java.lang.Object[],? extends R> combiner, int bufferSize)
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 sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T
- the common base type of source valuesR
- the result typesources
- the collection of source ObservableSourcescombiner
- the aggregation function used to combine the items emitted by the source ObservableSourcesbufferSize
- the internal buffer size and prefetch amount applied to every source Observable@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,R> Observable<R> combineLatest(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, BiFunction<? super T1,? super T2,? extends R> combiner)
If any of the sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T1
- the element type of the first sourceT2
- the element type of the second sourceR
- the combined output typesource1
- the first source ObservableSourcesource2
- the second source ObservableSourcecombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,R> Observable<R> combineLatest(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, Function3<? super T1,? super T2,? super T3,? extends R> combiner)
If any of the sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T1
- the element type of the first sourceT2
- the element type of the second sourceT3
- the element type of the third sourceR
- the combined output typesource1
- the first source ObservableSourcesource2
- the second source ObservableSourcesource3
- the third source ObservableSourcecombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,R> Observable<R> combineLatest(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> combiner)
If any of the sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T1
- the element type of the first sourceT2
- the element type of the second sourceT3
- the element type of the third sourceT4
- the element type of the fourth sourceR
- the combined output typesource1
- the first source ObservableSourcesource2
- the second source ObservableSourcesource3
- the third source ObservableSourcesource4
- the fourth source ObservableSourcecombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,T5,R> Observable<R> combineLatest(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, ObservableSource<? extends T5> source5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> combiner)
If any of the sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T1
- the element type of the first sourceT2
- the element type of the second sourceT3
- the element type of the third sourceT4
- the element type of the fourth sourceT5
- the element type of the fifth sourceR
- the combined output typesource1
- the first source ObservableSourcesource2
- the second source ObservableSourcesource3
- the third source ObservableSourcesource4
- the fourth source ObservableSourcesource5
- the fifth source ObservableSourcecombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,T5,T6,R> Observable<R> combineLatest(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, ObservableSource<? extends T5> source5, ObservableSource<? extends T6> source6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> combiner)
If any of the sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T1
- the element type of the first sourceT2
- the element type of the second sourceT3
- the element type of the third sourceT4
- the element type of the fourth sourceT5
- the element type of the fifth sourceT6
- the element type of the sixth sourceR
- the combined output typesource1
- the first source ObservableSourcesource2
- the second source ObservableSourcesource3
- the third source ObservableSourcesource4
- the fourth source ObservableSourcesource5
- the fifth source ObservableSourcesource6
- the sixth source ObservableSourcecombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,T5,T6,T7,R> Observable<R> combineLatest(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, ObservableSource<? extends T5> source5, ObservableSource<? extends T6> source6, ObservableSource<? extends T7> source7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> combiner)
If any of the sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T1
- the element type of the first sourceT2
- the element type of the second sourceT3
- the element type of the third sourceT4
- the element type of the fourth sourceT5
- the element type of the fifth sourceT6
- the element type of the sixth sourceT7
- the element type of the seventh sourceR
- the combined output typesource1
- the first source ObservableSourcesource2
- the second source ObservableSourcesource3
- the third source ObservableSourcesource4
- the fourth source ObservableSourcesource5
- the fifth source ObservableSourcesource6
- the sixth source ObservableSourcesource7
- the seventh source ObservableSourcecombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,T5,T6,T7,T8,R> Observable<R> combineLatest(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, ObservableSource<? extends T5> source5, ObservableSource<? extends T6> source6, ObservableSource<? extends T7> source7, ObservableSource<? extends T8> source8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> combiner)
If any of the sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T1
- the element type of the first sourceT2
- the element type of the second sourceT3
- the element type of the third sourceT4
- the element type of the fourth sourceT5
- the element type of the fifth sourceT6
- the element type of the sixth sourceT7
- the element type of the seventh sourceT8
- the element type of the eighth sourceR
- the combined output typesource1
- the first source ObservableSourcesource2
- the second source ObservableSourcesource3
- the third source ObservableSourcesource4
- the fourth source ObservableSourcesource5
- the fifth source ObservableSourcesource6
- the sixth source ObservableSourcesource7
- the seventh source ObservableSourcesource8
- the eighth source ObservableSourcecombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,R> Observable<R> combineLatest(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, ObservableSource<? extends T5> source5, ObservableSource<? extends T6> source6, ObservableSource<? extends T7> source7, ObservableSource<? extends T8> source8, ObservableSource<? extends T9> source9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> combiner)
If any of the sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatest
does not operate by default on a particular Scheduler
.T1
- the element type of the first sourceT2
- the element type of the second sourceT3
- the element type of the third sourceT4
- the element type of the fourth sourceT5
- the element type of the fifth sourceT6
- the element type of the sixth sourceT7
- the element type of the seventh sourceT8
- the element type of the eighth sourceT9
- the element type of the ninth sourceR
- the combined output typesource1
- the first source ObservableSourcesource2
- the second source ObservableSourcesource3
- the third source ObservableSourcesource4
- the fourth source ObservableSourcesource5
- the fifth source ObservableSourcesource6
- the sixth source ObservableSourcesource7
- the seventh source ObservableSourcesource8
- the eighth source ObservableSourcesource9
- the ninth source ObservableSourcecombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> combineLatestDelayError(ObservableSource<? extends T>[] sources, Function<? super java.lang.Object[],? extends R> combiner)
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 sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatestDelayError
does not operate by default on a particular Scheduler
.T
- the common base type of source valuesR
- the result typesources
- the collection of source ObservableSourcescombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> combineLatestDelayError(Function<? super java.lang.Object[],? extends R> combiner, int bufferSize, ObservableSource<? extends T>... sources)
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 sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatestDelayError
does not operate by default on a particular Scheduler
.T
- the common base type of source valuesR
- the result typesources
- the collection of source ObservableSourcescombiner
- the aggregation function used to combine the items emitted by the source ObservableSourcesbufferSize
- the internal buffer size and prefetch amount applied to every source Observable@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> combineLatestDelayError(ObservableSource<? extends T>[] sources, Function<? super java.lang.Object[],? extends R> combiner, int bufferSize)
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 sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatestDelayError
does not operate by default on a particular Scheduler
.T
- the common base type of source valuesR
- the result typesources
- the collection of source ObservableSourcescombiner
- the aggregation function used to combine the items emitted by the source ObservableSourcesbufferSize
- the internal buffer size and prefetch amount applied to every source Observable@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> combineLatestDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources, Function<? super java.lang.Object[],? extends R> combiner)
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 sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatestDelayError
does not operate by default on a particular Scheduler
.T
- the common base type of source valuesR
- the result typesources
- the collection of source ObservableSourcescombiner
- the aggregation function used to combine the items emitted by the source ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> combineLatestDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources, Function<? super java.lang.Object[],? extends R> combiner, int bufferSize)
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 sources never produces an item but only terminates (normally or with an error), the resulting sequence terminates immediately (normally or with all the errors accumulated till that point). If that input source is also synchronous, other sources after it will not be subscribed to.
combineLatestDelayError
does not operate by default on a particular Scheduler
.T
- the common base type of source valuesR
- the result typesources
- the collection of source ObservableSourcescombiner
- the aggregation function used to combine the items emitted by the source ObservableSourcesbufferSize
- the internal buffer size and prefetch amount applied to every source Observable@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concat(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
concat
does not operate by default on a particular Scheduler
.T
- the common value type of the sourcessources
- the Iterable sequence of ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concat(ObservableSource<? extends ObservableSource<? extends T>> sources)
concat
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- an ObservableSource that emits ObservableSourcesObservableSources
, one after the other, without interleaving them@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concat(ObservableSource<? extends ObservableSource<? extends T>> sources, int prefetch)
concat
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- an ObservableSource that emits ObservableSourcesprefetch
- the number of ObservableSources to prefetch from the sources sequence.ObservableSources
, one after the other, without interleaving them@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concat(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2)
concat
does not operate by default on a particular Scheduler
.T
- the common element base typesource1
- an ObservableSource to be concatenatedsource2
- an ObservableSource to be concatenated@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concat(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2, ObservableSource<? extends T> source3)
concat
does not operate by default on a particular Scheduler
.T
- the common element base typesource1
- an ObservableSource to be concatenatedsource2
- an ObservableSource to be concatenatedsource3
- an ObservableSource to be concatenated@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concat(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2, ObservableSource<? extends T> source3, ObservableSource<? extends T> source4)
concat
does not operate by default on a particular Scheduler
.T
- the common element base typesource1
- an ObservableSource to be concatenatedsource2
- an ObservableSource to be concatenatedsource3
- an ObservableSource to be concatenatedsource4
- an ObservableSource to be concatenated@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concatArray(ObservableSource<? extends T>... sources)
Note: named this way because of overload conflict with concat(ObservableSource<ObservableSource>)
concatArray
does not operate by default on a particular Scheduler
.T
- the common base value typesources
- the array of sourcesjava.lang.NullPointerException
- if sources is null@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concatArrayDelayError(ObservableSource<? extends T>... sources)
concatArrayDelayError
does not operate by default on a particular Scheduler
.T
- the common base value typesources
- the array of sourcesjava.lang.NullPointerException
- if sources is null@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concatArrayEager(ObservableSource<? extends T>... sources)
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the source ObservableSources. The operator buffers the values emitted by these ObservableSources and then drains them in order, each one after the previous one completes.
Scheduler
.T
- the value typesources
- a sequence of ObservableSources that need to be eagerly concatenated@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concatArrayEager(int maxConcurrency, int prefetch, ObservableSource<? extends T>... sources)
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the source ObservableSources. The operator buffers the values emitted by these ObservableSources and then drains them in order, each one after the previous one completes.
Scheduler
.T
- the value typesources
- a sequence of ObservableSources that need to be eagerly concatenatedmaxConcurrency
- the maximum number of concurrent subscriptions at a time, Integer.MAX_VALUE
is interpreted as indication to subscribe to all sources at onceprefetch
- the number of elements to prefetch from each ObservableSource source@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concatDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
concatDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the Iterable sequence of ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concatDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources)
concatDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the ObservableSource sequence of ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concatDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources, int prefetch, boolean tillTheEnd)
concatDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the ObservableSource sequence of ObservableSourcesprefetch
- the number of elements to prefetch from the outer ObservableSourcetillTheEnd
- if true exceptions from the outer and all inner ObservableSources are delayed to the end
if false, exception from the outer ObservableSource is delayed till the current ObservableSource terminates@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concatEager(ObservableSource<? extends ObservableSource<? extends T>> sources)
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the emitted source ObservableSources as they are observed. The operator buffers the values emitted by these ObservableSources and then drains them in order, each one after the previous one completes.
Scheduler
.T
- the value typesources
- a sequence of ObservableSources that need to be eagerly concatenated@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concatEager(ObservableSource<? extends ObservableSource<? extends T>> sources, int maxConcurrency, int prefetch)
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the emitted source ObservableSources as they are observed. The operator buffers the values emitted by these ObservableSources and then drains them in order, each one after the previous one completes.
Scheduler
.T
- the value typesources
- a sequence of ObservableSources that need to be eagerly concatenatedmaxConcurrency
- the maximum number of concurrently running inner ObservableSources; Integer.MAX_VALUE
is interpreted as all inner ObservableSources can be active at the same timeprefetch
- the number of elements to prefetch from each inner ObservableSource source@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concatEager(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the source ObservableSources. The operator buffers the values emitted by these ObservableSources and then drains them in order, each one after the previous one completes.
Scheduler
.T
- the value typesources
- a sequence of ObservableSources that need to be eagerly concatenated@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> concatEager(java.lang.Iterable<? extends ObservableSource<? extends T>> sources, int maxConcurrency, int prefetch)
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the source ObservableSources. The operator buffers the values emitted by these ObservableSources and then drains them in order, each one after the previous one completes.
Scheduler
.T
- the value typesources
- a sequence of ObservableSources that need to be eagerly concatenatedmaxConcurrency
- the maximum number of concurrently running inner ObservableSources; Integer.MAX_VALUE
is interpreted as all inner ObservableSources can be active at the same timeprefetch
- the number of elements to prefetch from each inner ObservableSource source@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> create(ObservableOnSubscribe<T> source)
Example:
Observable.<Event>create(emitter -> {
Callback listener = new Callback() {
@Override
public void onEvent(Event e) {
emitter.onNext(e);
if (e.isLast()) {
emitter.onComplete();
}
}
@Override
public void onFailure(Exception e) {
emitter.onError(e);
}
};
AutoCloseable c = api.someMethod(listener);
emitter.setCancellable(c::close);
});
You should call the ObservableEmitter's onNext, onError and onComplete methods in a serialized fashion. The rest of its methods are thread-safe.
create
does not operate by default on a particular Scheduler
.T
- the element typesource
- the emitter that is called when an Observer subscribes to the returned Observable
ObservableOnSubscribe
,
ObservableEmitter
,
Cancellable
@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> defer(java.util.concurrent.Callable<? extends ObservableSource<? extends T>> supplier)
The defer Observer allows you to defer or delay emitting items from an ObservableSource until such time as an
Observer subscribes to the ObservableSource. 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 ObservableSourcesupplier
- the ObservableSource factory function to invoke for each Observer
that subscribes to the
resulting ObservableSourceObserver
s' subscriptions trigger an invocation of the given
ObservableSource factory function@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> empty()
Observer
and immediately invokes its
onComplete
method.
empty
does not operate by default on a particular Scheduler
.T
- the type of the items (ostensibly) emitted by the ObservableSourceObserver
but immediately invokes the
Observer
's onComplete
method@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> error(java.util.concurrent.Callable<? extends java.lang.Throwable> errorSupplier)
Observer
's onError
method when the
Observer subscribes to it.
error
does not operate by default on a particular Scheduler
.T
- the type of the items (ostensibly) emitted by the ObservableSourceerrorSupplier
- a Callable factory to return a Throwable for each individual ObserverObserver
's onError
method when
the Observer subscribes to it@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> error(java.lang.Throwable exception)
Observer
's onError
method when the
Observer subscribes to it.
error
does not operate by default on a particular Scheduler
.T
- the type of the items (ostensibly) emitted by the ObservableSourceexception
- the particular Throwable to pass to onError
Observer
's onError
method when
the Observer subscribes to it@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> fromArray(T... items)
fromArray
does not operate by default on a particular Scheduler
.T
- the type of items in the Array and the type of items to be emitted by the resulting ObservableSourceitems
- the array of elements@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> fromCallable(java.util.concurrent.Callable<? extends T> supplier)
This allows you to defer the execution of the function you specify until an observer subscribes to the ObservableSource. That is to say, it makes the function "lazy."
fromCallable
does not operate by default on a particular Scheduler
.T
- the type of the item emitted by the ObservableSourcesupplier
- a function, the execution of which should be deferred; fromCallable
will invoke this
function only when an observer subscribes to the ObservableSource that fromCallable
returnsObserver
s' subscriptions trigger an invocation of the given functiondefer(Callable)
@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> fromFuture(java.util.concurrent.Future<? extends T> future)
Future
into an ObservableSource.
You can convert any object that supports the Future
interface into an ObservableSource that emits the
return value of the Future.get()
method of that object, by passing the object into the from
method.
Important note: This ObservableSource is blocking; you cannot dispose it.
Unlike 1.x, cancelling the Observable won't cancel the future. If necessary, one can use composition to achieve the
cancellation effect: futureObservableSource.doOnCancel(() -> future.cancel(true));
.
fromFuture
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 ObservableSourcefuture
- the source Future
Future
@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> fromFuture(java.util.concurrent.Future<? extends T> future, long timeout, java.util.concurrent.TimeUnit unit)
Future
into an ObservableSource, with a timeout on the Future.
You can convert any object that supports the Future
interface into an ObservableSource that emits the
return value of the Future.get()
method of that object, by passing the object into the from
method.
Unlike 1.x, cancelling the Observable won't cancel the future. If necessary, one can use composition to achieve the
cancellation effect: futureObservableSource.doOnCancel(() -> future.cancel(true));
.
Important note: This ObservableSource is blocking; you cannot dispose it.
fromFuture
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 ObservableSourcefuture
- the source Future
timeout
- the maximum time to wait before calling get
unit
- the TimeUnit
of the timeout
argumentFuture
@CheckReturnValue @SchedulerSupport(value="custom") public static <T> Observable<T> fromFuture(java.util.concurrent.Future<? extends T> future, long timeout, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
Future
into an ObservableSource, with a timeout on the Future.
You can convert any object that supports the Future
interface into an ObservableSource that emits the
return value of the Future.get()
method of that object, by passing the object into the from
method.
Unlike 1.x, cancelling the Observable won't cancel the future. If necessary, one can use composition to achieve the
cancellation effect: futureObservableSource.doOnCancel(() -> future.cancel(true));
.
Important note: This ObservableSource is blocking; you cannot dispose it.
fromFuture
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 ObservableSourcefuture
- the source Future
timeout
- the maximum time to wait before calling get
unit
- the TimeUnit
of the timeout
argumentscheduler
- the Scheduler
to wait for the Future on. Use a Scheduler such as
Schedulers.io()
that can block and wait on the FutureFuture
@CheckReturnValue @SchedulerSupport(value="custom") public static <T> Observable<T> fromFuture(java.util.concurrent.Future<? extends T> future, Scheduler scheduler)
Future
, operating on a specified Scheduler
, into an ObservableSource.
You can convert any object that supports the Future
interface into an ObservableSource that emits the
return value of the Future.get()
method of that object, by passing the object into the from
method.
Unlike 1.x, cancelling the Observable won't cancel the future. If necessary, one can use composition to achieve the
cancellation effect: futureObservableSource.doOnCancel(() -> future.cancel(true));
.
Scheduler
this operator will useT
- the type of object that the Future
returns, and also the type of item to be emitted by
the resulting ObservableSourcefuture
- 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 FutureFuture
@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> fromIterable(java.lang.Iterable<? extends T> source)
Iterable
sequence into an ObservableSource that emits the items in the sequence.
fromIterable
does not operate by default on a particular Scheduler
.T
- the type of items in the Iterable
sequence and the type of items to be emitted by the
resulting ObservableSourcesource
- the source Iterable
sequenceIterable
sequence@BackpressureSupport(value=UNBOUNDED_IN) @CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> fromPublisher(org.reactivestreams.Publisher<? extends T> publisher)
publisher
is consumed in an unbounded fashion without applying any
backpressure to it.fromPublisher
does not operate by default on a particular Scheduler
.T
- the value type of the flowpublisher
- the Publisher to convertjava.lang.NullPointerException
- if publisher is null@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> generate(Consumer<Emitter<T>> generator)
generate
does not operate by default on a particular Scheduler
.T
- the generated value typegenerator
- the Consumer called whenever a particular downstream Observer has
requested a value. The callback then should call onNext
, onError
or
onComplete
to signal a value or a terminal event. Signalling multiple onNext
in a call will make the operator signal IllegalStateException
.@CheckReturnValue @SchedulerSupport(value="none") public static <T,S> Observable<T> generate(java.util.concurrent.Callable<S> initialState, BiConsumer<S,Emitter<T>> generator)
generate
does not operate by default on a particular Scheduler
.S
- the type of the per-Observer stateT
- the generated value typeinitialState
- the Callable to generate the initial state for each Observergenerator
- the Consumer called with the current state whenever a particular downstream Observer has
requested a value. The callback then should call onNext
, onError
or
onComplete
to signal a value or a terminal event. Signalling multiple onNext
in a call will make the operator signal IllegalStateException
.@CheckReturnValue @SchedulerSupport(value="none") public static <T,S> Observable<T> generate(java.util.concurrent.Callable<S> initialState, BiConsumer<S,Emitter<T>> generator, Consumer<? super S> disposeState)
generate
does not operate by default on a particular Scheduler
.S
- the type of the per-Observer stateT
- the generated value typeinitialState
- the Callable to generate the initial state for each Observergenerator
- the Consumer called with the current state whenever a particular downstream Observer has
requested a value. The callback then should call onNext
, onError
or
onComplete
to signal a value or a terminal event. Signalling multiple onNext
in a call will make the operator signal IllegalStateException
.disposeState
- the Consumer that is called with the current state when the generator
terminates the sequence or it gets cancelled@CheckReturnValue @SchedulerSupport(value="none") public static <T,S> Observable<T> generate(java.util.concurrent.Callable<S> initialState, BiFunction<S,Emitter<T>,S> generator)
generate
does not operate by default on a particular Scheduler
.S
- the type of the per-Observer stateT
- the generated value typeinitialState
- the Callable to generate the initial state for each Observergenerator
- the Function called with the current state whenever a particular downstream Observer has
requested a value. The callback then should call onNext
, onError
or
onComplete
to signal a value or a terminal event and should return a (new) state for
the next invocation. Signalling multiple onNext
in a call will make the operator signal IllegalStateException
.@CheckReturnValue @SchedulerSupport(value="none") public static <T,S> Observable<T> generate(java.util.concurrent.Callable<S> initialState, BiFunction<S,Emitter<T>,S> generator, Consumer<? super S> disposeState)
generate
does not operate by default on a particular Scheduler
.S
- the type of the per-Observer stateT
- the generated value typeinitialState
- the Callable to generate the initial state for each Observergenerator
- the Function called with the current state whenever a particular downstream Observer has
requested a value. The callback then should call onNext
, onError
or
onComplete
to signal a value or a terminal event and should return a (new) state for
the next invocation. Signalling multiple onNext
in a call will make the operator signal IllegalStateException
.disposeState
- the Consumer that is called with the current state when the generator
terminates the sequence or it gets cancelled@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") public static Observable<java.lang.Long> interval(long initialDelay, long period, java.util.concurrent.TimeUnit unit)
0L
after the initialDelay
and ever increasing numbers
after each period
of time thereafter.
interval
operates by default on the computation
Scheduler
.initialDelay
- the initial delay time to wait before emitting the first value of 0Lperiod
- the period of time between emissions of the subsequent numbersunit
- the time unit for both initialDelay
and period
initialDelay
and ever increasing numbers after
each period
of time thereafter@CheckReturnValue @SchedulerSupport(value="custom") public static Observable<java.lang.Long> interval(long initialDelay, long period, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
0L
after the initialDelay
and ever increasing numbers
after each period
of time thereafter, on a specified Scheduler
.
Scheduler
this operator will useinitialDelay
- the initial delay time to wait before emitting the first value of 0Lperiod
- the period of time between emissions of the subsequent numbersunit
- the time unit for both initialDelay
and period
scheduler
- the Scheduler on which the waiting happens and items are emittedinitialDelay
and ever increasing numbers after
each period
of time thereafter, while running on the given Scheduler@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") public static Observable<java.lang.Long> interval(long period, java.util.concurrent.TimeUnit unit)
interval
operates by default on the computation
Scheduler
.period
- the period size in time units (see below)unit
- time units to use for the interval size@CheckReturnValue @SchedulerSupport(value="custom") public static Observable<java.lang.Long> interval(long period, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
Scheduler
this operator will useperiod
- the period size in time units (see below)unit
- time units to use for the interval sizescheduler
- the Scheduler to use for scheduling the items@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") public static Observable<java.lang.Long> intervalRange(long start, long count, long initialDelay, long period, java.util.concurrent.TimeUnit unit)
The sequence completes immediately after the last value (start + count - 1) has been reached.
intervalRange
by default operates on the computation
Scheduler
.start
- that start value of the rangecount
- the number of values to emit in total, if zero, the operator emits an onComplete after the initial delay.initialDelay
- the initial delay before signalling the first value (the start)period
- the period between subsequent valuesunit
- the unit of measure of the initialDelay and period amounts@CheckReturnValue @SchedulerSupport(value="custom") public static Observable<java.lang.Long> intervalRange(long start, long count, long initialDelay, long period, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
The sequence completes immediately after the last value (start + count - 1) has been reached.
*
Scheduler
.start
- that start value of the rangecount
- the number of values to emit in total, if zero, the operator emits an onComplete after the initial delay.initialDelay
- the initial delay before signalling the first value (the start)period
- the period between subsequent valuesunit
- the unit of measure of the initialDelay and period amountsscheduler
- the target scheduler where the values and terminal signals will be emitted@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> just(T item)
To convert any object into an ObservableSource that emits that object, pass that object into the just
method.
This is similar to the fromArray(java.lang.Object[])
method, except that from
will convert
an Iterable
object into an ObservableSource that emits each of the items in the Iterable, one at a
time, while the just
method converts an Iterable into an ObservableSource that emits the entire
Iterable as a single item.
just
does not operate by default on a particular Scheduler
.T
- the type of that itemitem
- the item to emitvalue
as a single item and then completes@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> just(T item1, T item2)
just
does not operate by default on a particular Scheduler
.T
- the type of these itemsitem1
- first itemitem2
- second item@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> just(T item1, T item2, T item3)
just
does not operate by default on a particular Scheduler
.T
- the type of these itemsitem1
- first itemitem2
- second itemitem3
- third item@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> just(T item1, T item2, T item3, T item4)
just
does not operate by default on a particular Scheduler
.T
- the type of these itemsitem1
- first itemitem2
- second itemitem3
- third itemitem4
- fourth item@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> just(T item1, T item2, T item3, T item4, T item5)
just
does not operate by default on a particular Scheduler
.T
- the type of these itemsitem1
- first itemitem2
- second itemitem3
- third itemitem4
- fourth itemitem5
- fifth item@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> just(T item1, T item2, T item3, T item4, T item5, T item6)
just
does not operate by default on a particular Scheduler
.T
- the type of these itemsitem1
- first itemitem2
- second itemitem3
- third itemitem4
- fourth itemitem5
- fifth itemitem6
- sixth item@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> just(T item1, T item2, T item3, T item4, T item5, T item6, T item7)
just
does not operate by default on a particular Scheduler
.T
- the type of these itemsitem1
- first itemitem2
- second itemitem3
- third itemitem4
- fourth itemitem5
- fifth itemitem6
- sixth itemitem7
- seventh item@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8)
just
does not operate by default on a particular Scheduler
.T
- the type of these itemsitem1
- first itemitem2
- second itemitem3
- third itemitem4
- fourth itemitem5
- fifth itemitem6
- sixth itemitem7
- seventh itemitem8
- eighth item@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8, T item9)
just
does not operate by default on a particular Scheduler
.T
- the type of these itemsitem1
- first itemitem2
- second itemitem3
- third itemitem4
- fourth itemitem5
- fifth itemitem6
- sixth itemitem7
- seventh itemitem8
- eighth itemitem9
- ninth item@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8, T item9, T item10)
just
does not operate by default on a particular Scheduler
.T
- the type of these itemsitem1
- first itemitem2
- second itemitem3
- third itemitem4
- fourth itemitem5
- fifth itemitem6
- sixth itemitem7
- seventh itemitem8
- eighth itemitem9
- ninth itemitem10
- tenth item@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> merge(java.lang.Iterable<? extends ObservableSource<? extends T>> sources, int maxConcurrency, int bufferSize)
You can combine the items emitted by multiple ObservableSources so that they appear as a single ObservableSource, by
using the merge
method.
merge
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the Iterable of ObservableSourcesmaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrentlybufferSize
- the number of items to prefetch from each inner ObservableSourcejava.lang.IllegalArgumentException
- if maxConcurrent
is less than or equal to 0@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeArray(int maxConcurrency, int bufferSize, ObservableSource<? extends T>... sources)
You can combine the items emitted by multiple ObservableSources so that they appear as a single ObservableSource, by
using the merge
method.
mergeArray
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the array of ObservableSourcesmaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrentlybufferSize
- the number of items to prefetch from each inner ObservableSourcejava.lang.IllegalArgumentException
- if maxConcurrent
is less than or equal to 0@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> merge(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
You can combine the items emitted by multiple ObservableSources so that they appear as a single ObservableSource, by
using the merge
method.
merge
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the Iterable of ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> merge(java.lang.Iterable<? extends ObservableSource<? extends T>> sources, int maxConcurrency)
You can combine the items emitted by multiple ObservableSources so that they appear as a single ObservableSource, by
using the merge
method.
merge
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the Iterable of ObservableSourcesmaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrentlyjava.lang.IllegalArgumentException
- if maxConcurrent
is less than or equal to 0@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> merge(ObservableSource<? extends ObservableSource<? extends T>> sources)
You can combine the items emitted by multiple ObservableSources so that they appear as a single ObservableSource, by
using the merge
method.
merge
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- an ObservableSource that emits ObservableSourcessource
ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> merge(ObservableSource<? extends ObservableSource<? extends T>> sources, int maxConcurrency)
You can combine the items emitted by multiple ObservableSources so that they appear as a single ObservableSource, by
using the merge
method.
merge
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- an ObservableSource that emits ObservableSourcesmaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrentlysource
ObservableSourcejava.lang.IllegalArgumentException
- if maxConcurrent
is less than or equal to 0@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> merge(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2)
You can combine items emitted by multiple ObservableSources so that they appear as a single ObservableSource, by
using the merge
method.
merge
does not operate by default on a particular Scheduler
.T
- the common element base typesource1
- an ObservableSource to be mergedsource2
- an ObservableSource to be merged@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> merge(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2, ObservableSource<? extends T> source3)
You can combine items emitted by multiple ObservableSources so that they appear as a single ObservableSource, by
using the merge
method.
merge
does not operate by default on a particular Scheduler
.T
- the common element base typesource1
- an ObservableSource to be mergedsource2
- an ObservableSource to be mergedsource3
- an ObservableSource to be merged@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> merge(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2, ObservableSource<? extends T> source3, ObservableSource<? extends T> source4)
You can combine items emitted by multiple ObservableSources so that they appear as a single ObservableSource, by
using the merge
method.
merge
does not operate by default on a particular Scheduler
.T
- the common element base typesource1
- an ObservableSource to be mergedsource2
- an ObservableSource to be mergedsource3
- an ObservableSource to be mergedsource4
- an ObservableSource to be merged@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeArray(ObservableSource<? extends T>... sources)
You can combine items emitted by multiple ObservableSources so that they appear as a single ObservableSource, by
using the merge
method.
mergeArray
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the array of ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources)
This behaves like merge(ObservableSource)
except that if any of the merged ObservableSources notify of an
error via onError
, mergeDelayError
will refrain from propagating that
error notification until all of the merged ObservableSources have finished emitting items.
Even if multiple merged ObservableSources send onError
notifications, mergeDelayError
will only
invoke the onError
method of its Observers once.
mergeDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the Iterable of ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources, int maxConcurrency, int bufferSize)
This behaves like merge(ObservableSource)
except that if any of the merged ObservableSources notify of an
error via onError
, mergeDelayError
will refrain from propagating that
error notification until all of the merged ObservableSources have finished emitting items.
Even if multiple merged ObservableSources send onError
notifications, mergeDelayError
will only
invoke the onError
method of its Observers once.
mergeDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the Iterable of ObservableSourcesmaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrentlybufferSize
- the number of items to prefetch from each inner ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeArrayDelayError(int maxConcurrency, int bufferSize, ObservableSource<? extends T>... sources)
This behaves like merge(ObservableSource)
except that if any of the merged ObservableSources notify of an
error via onError
, mergeDelayError
will refrain from propagating that
error notification until all of the merged ObservableSources have finished emitting items.
Even if multiple merged ObservableSources send onError
notifications, mergeDelayError
will only
invoke the onError
method of its Observers once.
mergeArrayDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the array of ObservableSourcesmaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrentlybufferSize
- the number of items to prefetch from each inner ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeDelayError(java.lang.Iterable<? extends ObservableSource<? extends T>> sources, int maxConcurrency)
This behaves like merge(ObservableSource)
except that if any of the merged ObservableSources notify of an
error via onError
, mergeDelayError
will refrain from propagating that
error notification until all of the merged ObservableSources have finished emitting items.
Even if multiple merged ObservableSources send onError
notifications, mergeDelayError
will only
invoke the onError
method of its Observers once.
mergeDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the Iterable of ObservableSourcesmaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrently@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources)
This behaves like merge(ObservableSource)
except that if any of the merged ObservableSources notify of an
error via onError
, mergeDelayError
will refrain from propagating that
error notification until all of the merged ObservableSources have finished emitting items.
Even if multiple merged ObservableSources send onError
notifications, mergeDelayError
will only
invoke the onError
method of its Observers once.
mergeDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- an ObservableSource that emits ObservableSourcessource
ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources, int maxConcurrency)
This behaves like merge(ObservableSource)
except that if any of the merged ObservableSources notify of an
error via onError
, mergeDelayError
will refrain from propagating that
error notification until all of the merged ObservableSources have finished emitting items.
Even if multiple merged ObservableSources send onError
notifications, mergeDelayError
will only
invoke the onError
method of its Observers once.
mergeDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- an ObservableSource that emits ObservableSourcesmaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrentlysource
ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeDelayError(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2)
This behaves like merge(ObservableSource, ObservableSource)
except that if any of the merged ObservableSources
notify of an error via onError
, mergeDelayError
will refrain from
propagating that error notification until all of the merged ObservableSources have finished emitting items.
Even if both merged ObservableSources send onError
notifications, mergeDelayError
will only
invoke the onError
method of its Observers once.
mergeDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesource1
- an ObservableSource to be mergedsource2
- an ObservableSource to be merged@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeDelayError(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2, ObservableSource<? extends T> source3)
This behaves like merge(ObservableSource, ObservableSource, ObservableSource)
except that if any of the merged
ObservableSources notify of an error via onError
, mergeDelayError
will refrain
from propagating that error notification until all of the merged ObservableSources have finished emitting
items.
Even if multiple merged ObservableSources send onError
notifications, mergeDelayError
will only
invoke the onError
method of its Observers once.
mergeDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesource1
- an ObservableSource to be mergedsource2
- an ObservableSource to be mergedsource3
- an ObservableSource to be merged@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeDelayError(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2, ObservableSource<? extends T> source3, ObservableSource<? extends T> source4)
This behaves like merge(ObservableSource, ObservableSource, ObservableSource, ObservableSource)
except that if any of
the merged ObservableSources notify of an error via onError
, mergeDelayError
will refrain from propagating that error notification until all of the merged ObservableSources have finished
emitting items.
Even if multiple merged ObservableSources send onError
notifications, mergeDelayError
will only
invoke the onError
method of its Observers once.
mergeDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesource1
- an ObservableSource to be mergedsource2
- an ObservableSource to be mergedsource3
- an ObservableSource to be mergedsource4
- an ObservableSource to be merged@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> mergeArrayDelayError(ObservableSource<? extends T>... sources)
This behaves like merge(ObservableSource)
except that if any of the merged ObservableSources notify of an
error via onError
, mergeDelayError
will refrain from propagating that
error notification until all of the merged ObservableSources have finished emitting items.
Even if multiple merged ObservableSources send onError
notifications, mergeDelayError
will only
invoke the onError
method of its Observers once.
mergeArrayDelayError
does not operate by default on a particular Scheduler
.T
- the common element base typesources
- the Iterable of ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> never()
Observer
.
This ObservableSource is useful primarily for testing purposes.
never
does not operate by default on a particular Scheduler
.T
- the type of items (not) emitted by the ObservableSourceObserver
@CheckReturnValue @SchedulerSupport(value="none") public static Observable<java.lang.Integer> range(int start, int count)
range
does not operate by default on a particular Scheduler
.start
- the value of the first Integer in the sequencecount
- the number of sequential Integers to generatejava.lang.IllegalArgumentException
- if count
is less than zero, or if start
+ count
− 1 exceeds
Integer.MAX_VALUE
@CheckReturnValue @SchedulerSupport(value="none") public static Observable<java.lang.Long> rangeLong(long start, long count)
rangeLong
does not operate by default on a particular Scheduler
.start
- the value of the first Long in the sequencecount
- the number of sequential Longs to generatejava.lang.IllegalArgumentException
- if count
is less than zero, or if start
+ count
− 1 exceeds
Long.MAX_VALUE
@CheckReturnValue @SchedulerSupport(value="none") public static <T> Single<java.lang.Boolean> sequenceEqual(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2)
sequenceEqual
does not operate by default on a particular Scheduler
.T
- the type of items emitted by each ObservableSourcesource1
- the first ObservableSource to comparesource2
- the second ObservableSource to compare@CheckReturnValue @SchedulerSupport(value="none") public static <T> Single<java.lang.Boolean> sequenceEqual(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2, BiPredicate<? super T,? super T> isEqual)
sequenceEqual
does not operate by default on a particular Scheduler
.T
- the type of items emitted by each ObservableSourcesource1
- the first ObservableSource to comparesource2
- the second ObservableSource to compareisEqual
- a function used to compare items emitted by each ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T> Single<java.lang.Boolean> sequenceEqual(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2, BiPredicate<? super T,? super T> isEqual, int bufferSize)
sequenceEqual
does not operate by default on a particular Scheduler
.T
- the type of items emitted by each ObservableSourcesource1
- the first ObservableSource to comparesource2
- the second ObservableSource to compareisEqual
- a function used to compare items emitted by each ObservableSourcebufferSize
- the number of items to prefetch from the first and second source ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T> Single<java.lang.Boolean> sequenceEqual(ObservableSource<? extends T> source1, ObservableSource<? extends T> source2, int bufferSize)
sequenceEqual
does not operate by default on a particular Scheduler
.T
- the type of items emitted by each ObservableSourcesource1
- the first ObservableSource to comparesource2
- the second ObservableSource to comparebufferSize
- the number of items to prefetch from the first and second source ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> switchOnNext(ObservableSource<? extends ObservableSource<? extends T>> sources, int bufferSize)
switchOnNext
subscribes to an ObservableSource that emits ObservableSources. Each time it observes one of
these emitted ObservableSources, the ObservableSource returned by switchOnNext
begins emitting the items
emitted by that ObservableSource. When a new ObservableSource is emitted, switchOnNext
stops emitting items
from the earlier-emitted ObservableSource and begins emitting items from the new one.
The resulting ObservableSource completes if both the outer ObservableSource and the last inner ObservableSource, if any, complete. If the outer ObservableSource signals an onError, the inner ObservableSource is disposed and the error delivered in-sequence.
switchOnNext
does not operate by default on a particular Scheduler
.T
- the item typesources
- the source ObservableSource that emits ObservableSourcesbufferSize
- the number of items to prefetch from the inner ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> switchOnNext(ObservableSource<? extends ObservableSource<? extends T>> sources)
switchOnNext
subscribes to an ObservableSource that emits ObservableSources. Each time it observes one of
these emitted ObservableSources, the ObservableSource returned by switchOnNext
begins emitting the items
emitted by that ObservableSource. When a new ObservableSource is emitted, switchOnNext
stops emitting items
from the earlier-emitted ObservableSource and begins emitting items from the new one.
The resulting ObservableSource completes if both the outer ObservableSource and the last inner ObservableSource, if any, complete. If the outer ObservableSource signals an onError, the inner ObservableSource is disposed and the error delivered in-sequence.
switchOnNext
does not operate by default on a particular Scheduler
.T
- the item typesources
- the source ObservableSource that emits ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> switchOnNextDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources)
switchOnNext
subscribes to an ObservableSource that emits ObservableSources. Each time it observes one of
these emitted ObservableSources, the ObservableSource returned by switchOnNext
begins emitting the items
emitted by that ObservableSource. When a new ObservableSource is emitted, switchOnNext
stops emitting items
from the earlier-emitted ObservableSource and begins emitting items from the new one.
The resulting ObservableSource completes if both the main ObservableSource and the last inner ObservableSource, if any, complete. If the main ObservableSource signals an onError, the termination of the last inner ObservableSource will emit that error as is or wrapped into a CompositeException along with the other possible errors the former inner ObservableSources signalled.
switchOnNextDelayError
does not operate by default on a particular Scheduler
.T
- the item typesources
- the source ObservableSource that emits ObservableSources@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> switchOnNextDelayError(ObservableSource<? extends ObservableSource<? extends T>> sources, int prefetch)
switchOnNext
subscribes to an ObservableSource that emits ObservableSources. Each time it observes one of
these emitted ObservableSources, the ObservableSource returned by switchOnNext
begins emitting the items
emitted by that ObservableSource. When a new ObservableSource is emitted, switchOnNext
stops emitting items
from the earlier-emitted ObservableSource and begins emitting items from the new one.
The resulting ObservableSource completes if both the main ObservableSource and the last inner ObservableSource, if any, complete. If the main ObservableSource signals an onError, the termination of the last inner ObservableSource will emit that error as is or wrapped into a CompositeException along with the other possible errors the former inner ObservableSources signalled.
switchOnNextDelayError
does not operate by default on a particular Scheduler
.T
- the item typesources
- the source ObservableSource that emits ObservableSourcesprefetch
- the number of items to prefetch from the inner ObservableSources@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") public static Observable<java.lang.Long> timer(long delay, java.util.concurrent.TimeUnit unit)
0L
after a specified delay, and then completes.
timer
operates by default on the computation
Scheduler
.delay
- the initial delay before emitting a single 0L
unit
- time units to use for delay
0L
after a specified delay, and then completes@CheckReturnValue @SchedulerSupport(value="custom") public static Observable<java.lang.Long> timer(long delay, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
0L
after a specified delay, on a specified Scheduler, and then
completes.
Scheduler
this operator will usedelay
- the initial delay before emitting a single 0Lunit
- time units to use for delay
scheduler
- the Scheduler
to use for scheduling the item0L
after a specified delay, on a specified Scheduler, and then
completes@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> unsafeCreate(ObservableSource<T> onSubscribe)
unsafeCreate
by default doesn't operate on any particular Scheduler
.T
- the value type emittedonSubscribe
- the ObservableSource instance to wrap@CheckReturnValue @SchedulerSupport(value="none") public static <T,D> Observable<T> using(java.util.concurrent.Callable<? extends D> resourceSupplier, Function<? super D,? extends ObservableSource<? extends T>> sourceSupplier, Consumer<? super D> disposer)
using
does not operate by default on a particular Scheduler
.T
- the element type of the generated ObservableSourceD
- the type of the resource associated with the output sequenceresourceSupplier
- the factory function to create a resource object that depends on the ObservableSourcesourceSupplier
- the factory function to create an ObservableSourcedisposer
- the function that will dispose of the resource@CheckReturnValue @SchedulerSupport(value="none") public static <T,D> Observable<T> using(java.util.concurrent.Callable<? extends D> resourceSupplier, Function<? super D,? extends ObservableSource<? extends T>> sourceSupplier, Consumer<? super D> disposer, boolean eager)
disposeEagerly
to true
and a dispose() call does not occur
before termination. Otherwise resource disposal will occur on a dispose() call. Eager disposal is
particularly appropriate for a synchronous ObservableSource that reuses resources. disposeAction
will
only be called once per subscription.
using
does not operate by default on a particular Scheduler
.T
- the element type of the generated ObservableSourceD
- the type of the resource associated with the output sequenceresourceSupplier
- the factory function to create a resource object that depends on the ObservableSourcesourceSupplier
- the factory function to create an ObservableSourcedisposer
- the function that will dispose of the resourceeager
- if true
then disposal will happen either on a dispose() call or just before emission of
a terminal event (onComplete
or onError
).@CheckReturnValue @SchedulerSupport(value="none") public static <T> Observable<T> wrap(ObservableSource<T> source)
wrap
does not operate by default on a particular Scheduler
.T
- the value typesource
- the source ObservableSource instancejava.lang.NullPointerException
- if source is null@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> zip(java.lang.Iterable<? extends ObservableSource<? extends T>> sources, Function<? super java.lang.Object[],? extends R> zipper)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by each of the source ObservableSources;
the second item emitted by the new ObservableSource will be the result of the function applied to the second
item emitted by each of those ObservableSources; and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as
the number of onNext
invocations of the source ObservableSource that emits the fewest items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(Arrays.asList(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2)), (a) -> a)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
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
.
zip
does not operate by default on a particular Scheduler
.T
- the common value typeR
- the zipped result typesources
- an Iterable of source ObservableSourceszipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results in
an item that will be emitted by the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> zip(ObservableSource<? extends ObservableSource<? extends T>> sources, Function<? super java.lang.Object[],? extends R> zipper)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by each of the ObservableSources emitted
by the source ObservableSource; the second item emitted by the new ObservableSource will be the result of the
function applied to the second item emitted by each of those ObservableSources; and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as
the number of onNext
invocations of the source ObservableSource that emits the fewest items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(just(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2)), (a) -> a)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
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
.
zip
does not operate by default on a particular Scheduler
.T
- the value type of the inner ObservableSourcesR
- the zipped result typesources
- an ObservableSource of source ObservableSourceszipper
- a function that, when applied to an item emitted by each of the ObservableSources emitted by
ws
, results in an item that will be emitted by the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,R> Observable<R> zip(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, BiFunction<? super T1,? super T2,? extends R> zipper)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by o1
and the first item
emitted by o2
; the second item emitted by the new ObservableSource will be the result of the function
applied to the second item emitted by o1
and the second item emitted by o2
; and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as the number of onNext
invocations of the source ObservableSource that emits the fewest
items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2), (a, b) -> a + b)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
zip
does not operate by default on a particular Scheduler
.T1
- the value type of the first sourceT2
- the value type of the second sourceR
- the zipped result typesource1
- the first source ObservableSourcesource2
- a second source ObservableSourcezipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results
in an item that will be emitted by the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,R> Observable<R> zip(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, BiFunction<? super T1,? super T2,? extends R> zipper, boolean delayError)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by o1
and the first item
emitted by o2
; the second item emitted by the new ObservableSource will be the result of the function
applied to the second item emitted by o1
and the second item emitted by o2
; and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as the number of onNext
invocations of the source ObservableSource that emits the fewest
items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2), (a, b) -> a + b)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
zip
does not operate by default on a particular Scheduler
.T1
- the value type of the first sourceT2
- the value type of the second sourceR
- the zipped result typesource1
- the first source ObservableSourcesource2
- a second source ObservableSourcezipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results
in an item that will be emitted by the resulting ObservableSourcedelayError
- delay errors from any of the source ObservableSources till the other terminates@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,R> Observable<R> zip(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, BiFunction<? super T1,? super T2,? extends R> zipper, boolean delayError, int bufferSize)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by o1
and the first item
emitted by o2
; the second item emitted by the new ObservableSource will be the result of the function
applied to the second item emitted by o1
and the second item emitted by o2
; and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as the number of onNext
invocations of the source ObservableSource that emits the fewest
items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2), (a, b) -> a + b)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
zip
does not operate by default on a particular Scheduler
.T1
- the value type of the first sourceT2
- the value type of the second sourceR
- the zipped result typesource1
- the first source ObservableSourcesource2
- a second source ObservableSourcezipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results
in an item that will be emitted by the resulting ObservableSourcedelayError
- delay errors from any of the source ObservableSources till the other terminatesbufferSize
- the number of elements to prefetch from each source ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,R> Observable<R> zip(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by o1
, the first item
emitted by o2
, and the first item emitted by o3
; the second item emitted by the new
ObservableSource will be the result of the function applied to the second item emitted by o1
, the
second item emitted by o2
, and the second item emitted by o3
; and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as the number of onNext
invocations of the source ObservableSource that emits the fewest
items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2), ..., (a, b, c) -> a + b)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
zip
does not operate by default on a particular Scheduler
.T1
- the value type of the first sourceT2
- the value type of the second sourceT3
- the value type of the third sourceR
- the zipped result typesource1
- the first source ObservableSourcesource2
- a second source ObservableSourcesource3
- a third source ObservableSourcezipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results in
an item that will be emitted by the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,R> Observable<R> zip(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by o1
, the first item
emitted by o2
, the first item emitted by o3
, and the first item emitted by 04
;
the second item emitted by the new ObservableSource will be the result of the function applied to the second
item emitted by each of those ObservableSources; and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as the number of onNext
invocations of the source ObservableSource that emits the fewest
items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2), ..., (a, b, c, d) -> a + b)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
zip
does not operate by default on a particular Scheduler
.T1
- the value type of the first sourceT2
- the value type of the second sourceT3
- the value type of the third sourceT4
- the value type of the fourth sourceR
- the zipped result typesource1
- the first source ObservableSourcesource2
- a second source ObservableSourcesource3
- a third source ObservableSourcesource4
- a fourth source ObservableSourcezipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results in
an item that will be emitted by the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,T5,R> Observable<R> zip(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, ObservableSource<? extends T5> source5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by o1
, the first item
emitted by o2
, the first item emitted by o3
, the first item emitted by o4
, and
the first item emitted by o5
; the second item emitted by the new ObservableSource will be the result of
the function applied to the second item emitted by each of those ObservableSources; and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as the number of onNext
invocations of the source ObservableSource that emits the fewest
items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2), ..., (a, b, c, d, e) -> a + b)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
zip
does not operate by default on a particular Scheduler
.T1
- the value type of the first sourceT2
- the value type of the second sourceT3
- the value type of the third sourceT4
- the value type of the fourth sourceT5
- the value type of the fifth sourceR
- the zipped result typesource1
- the first source ObservableSourcesource2
- a second source ObservableSourcesource3
- a third source ObservableSourcesource4
- a fourth source ObservableSourcesource5
- a fifth source ObservableSourcezipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results in
an item that will be emitted by the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,T5,T6,R> Observable<R> zip(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, ObservableSource<? extends T5> source5, ObservableSource<? extends T6> source6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by each source ObservableSource, the
second item emitted by the new ObservableSource will be the result of the function applied to the second item
emitted by each of those ObservableSources, and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as the number of onNext
invocations of the source ObservableSource that emits the fewest
items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2), ..., (a, b, c, d, e, f) -> a + b)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
zip
does not operate by default on a particular Scheduler
.T1
- the value type of the first sourceT2
- the value type of the second sourceT3
- the value type of the third sourceT4
- the value type of the fourth sourceT5
- the value type of the fifth sourceT6
- the value type of the sixth sourceR
- the zipped result typesource1
- the first source ObservableSourcesource2
- a second source ObservableSourcesource3
- a third source ObservableSourcesource4
- a fourth source ObservableSourcesource5
- a fifth source ObservableSourcesource6
- a sixth source ObservableSourcezipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results in
an item that will be emitted by the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,T5,T6,T7,R> Observable<R> zip(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, ObservableSource<? extends T5> source5, ObservableSource<? extends T6> source6, ObservableSource<? extends T7> source7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by each source ObservableSource, the
second item emitted by the new ObservableSource will be the result of the function applied to the second item
emitted by each of those ObservableSources, and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as the number of onNext
invocations of the source ObservableSource that emits the fewest
items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2), ..., (a, b, c, d, e, f, g) -> a + b)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
zip
does not operate by default on a particular Scheduler
.T1
- the value type of the first sourceT2
- the value type of the second sourceT3
- the value type of the third sourceT4
- the value type of the fourth sourceT5
- the value type of the fifth sourceT6
- the value type of the sixth sourceT7
- the value type of the seventh sourceR
- the zipped result typesource1
- the first source ObservableSourcesource2
- a second source ObservableSourcesource3
- a third source ObservableSourcesource4
- a fourth source ObservableSourcesource5
- a fifth source ObservableSourcesource6
- a sixth source ObservableSourcesource7
- a seventh source ObservableSourcezipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results in
an item that will be emitted by the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,T5,T6,T7,T8,R> Observable<R> zip(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, ObservableSource<? extends T5> source5, ObservableSource<? extends T6> source6, ObservableSource<? extends T7> source7, ObservableSource<? extends T8> source8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by each source ObservableSource, the
second item emitted by the new ObservableSource will be the result of the function applied to the second item
emitted by each of those ObservableSources, and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as the number of onNext
invocations of the source ObservableSource that emits the fewest
items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2), ..., (a, b, c, d, e, f, g, h) -> a + b)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
zip
does not operate by default on a particular Scheduler
.T1
- the value type of the first sourceT2
- the value type of the second sourceT3
- the value type of the third sourceT4
- the value type of the fourth sourceT5
- the value type of the fifth sourceT6
- the value type of the sixth sourceT7
- the value type of the seventh sourceT8
- the value type of the eighth sourceR
- the zipped result typesource1
- the first source ObservableSourcesource2
- a second source ObservableSourcesource3
- a third source ObservableSourcesource4
- a fourth source ObservableSourcesource5
- a fifth source ObservableSourcesource6
- a sixth source ObservableSourcesource7
- a seventh source ObservableSourcesource8
- an eighth source ObservableSourcezipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results in
an item that will be emitted by the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,R> Observable<R> zip(ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, ObservableSource<? extends T3> source3, ObservableSource<? extends T4> source4, ObservableSource<? extends T5> source5, ObservableSource<? extends T6> source6, ObservableSource<? extends T7> source7, ObservableSource<? extends T8> source8, ObservableSource<? 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)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by each source ObservableSource, the
second item emitted by the new ObservableSource will be the result of the function applied to the second item
emitted by each of those ObservableSources, and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as the number of onNext
invocations of the source ObservableSource that emits the fewest
items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2), ..., (a, b, c, d, e, f, g, h, i) -> a + b)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
zip
does not operate by default on a particular Scheduler
.T1
- the value type of the first sourceT2
- the value type of the second sourceT3
- the value type of the third sourceT4
- the value type of the fourth sourceT5
- the value type of the fifth sourceT6
- the value type of the sixth sourceT7
- the value type of the seventh sourceT8
- the value type of the eighth sourceT9
- the value type of the ninth sourceR
- the zipped result typesource1
- the first source ObservableSourcesource2
- a second source ObservableSourcesource3
- a third source ObservableSourcesource4
- a fourth source ObservableSourcesource5
- a fifth source ObservableSourcesource6
- a sixth source ObservableSourcesource7
- a seventh source ObservableSourcesource8
- an eighth source ObservableSourcesource9
- a ninth source ObservableSourcezipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results in
an item that will be emitted by the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> zipArray(Function<? super java.lang.Object[],? extends R> zipper, boolean delayError, int bufferSize, ObservableSource<? extends T>... sources)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by each of the source ObservableSources;
the second item emitted by the new ObservableSource will be the result of the function applied to the second
item emitted by each of those ObservableSources; and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as
the number of onNext
invocations of the source ObservableSource that emits the fewest items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(new ObservableSource[]{range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2)}, (a) ->
a)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
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
.
zipArray
does not operate by default on a particular Scheduler
.T
- the common element typeR
- the result typesources
- an array of source ObservableSourceszipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results in
an item that will be emitted by the resulting ObservableSourcedelayError
- delay errors signalled by any of the source ObservableSource until all ObservableSources terminatebufferSize
- the number of elements to prefetch from each source ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public static <T,R> Observable<R> zipIterable(java.lang.Iterable<? extends ObservableSource<? extends T>> sources, Function<? super java.lang.Object[],? extends R> zipper, boolean delayError, int bufferSize)
zip
applies this function in strict sequence, so the first item emitted by the new ObservableSource
will be the result of the function applied to the first item emitted by each of the source ObservableSources;
the second item emitted by the new ObservableSource will be the result of the function applied to the second
item emitted by each of those ObservableSources; and so forth.
The resulting ObservableSource<R>
returned from zip
will invoke onNext
as many times as
the number of onNext
invocations of the source ObservableSource that emits the fewest items.
The operator subscribes to its sources in order they are specified and completes eagerly if
one of the sources is shorter than the rest while disposing the other sources. Therefore, it
is possible those other sources will never be able to run to completion (and thus not calling
doOnComplete()
). This can also happen if the sources are exactly the same length; if
source A completes and B has been consumed and is about to complete, the operator detects A won't
be sending further values and it will dispose B immediately. For example:
zip(Arrays.asList(range(1, 5).doOnComplete(action1), range(6, 5).doOnComplete(action2)), (a) -> a)
action1
will be called but action2
won't.
doOnDispose(Action)
as well or use using()
to do cleanup in case of completion
or a dispose() call.
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
.
zipIterable
does not operate by default on a particular Scheduler
.T
- the common source value typeR
- the zipped result typesources
- an Iterable of source ObservableSourceszipper
- a function that, when applied to an item emitted by each of the source ObservableSources, results in
an item that will be emitted by the resulting ObservableSourcedelayError
- delay errors signalled by any of the source ObservableSource until all ObservableSources terminatebufferSize
- the number of elements to prefetch from each source ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final Single<java.lang.Boolean> all(Predicate<? super T> predicate)
all
does not operate by default on a particular Scheduler
.predicate
- a function that evaluates an item and returns a Booleantrue
if all items emitted by the source ObservableSource satisfy the
predicate; otherwise, false
@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> ambWith(ObservableSource<? extends T> other)
ambWith
does not operate by default on a particular Scheduler
.other
- an ObservableSource competing to react first. A subscription to this provided source will occur after
subscribing to the current source.@CheckReturnValue @SchedulerSupport(value="none") public final Single<java.lang.Boolean> any(Predicate<? super T> predicate)
true
if any item emitted by the source ObservableSource satisfies a
specified condition, otherwise false
. Note: this always emits false
if the
source ObservableSource is empty.
In Rx.Net this is the any
Observer but we renamed it in RxJava to better match Java naming
idioms.
any
does not operate by default on a particular Scheduler
.predicate
- the condition to test items emitted by the source ObservableSourcepredicate
@CheckReturnValue @SchedulerSupport(value="none") public final T blockingFirst()
Observable
, or throws
NoSuchElementException
if it emits no items.
blockingFirst
does not operate by default on a particular Scheduler
.Observable
java.util.NoSuchElementException
- if this Observable
emits no items@CheckReturnValue @SchedulerSupport(value="none") public final T blockingFirst(T defaultItem)
Observable
, or a default value if it emits no
items.
blockingFirst
does not operate by default on a particular Scheduler
.defaultItem
- a default value to return if this Observable
emits no itemsObservable
, or the default value if it emits no
items@SchedulerSupport(value="none") public final void blockingForEach(Consumer<? super T> onNext)
Observable
and blocks until the Observable
completes.
Note: This will block even if the underlying Observable is asynchronous.
This is similar to subscribe(Observer)
, but it blocks. Because it blocks it does not
need the Observer.onComplete()
or Observer.onError(Throwable)
methods. If the
underlying Observable terminates with an error, rather than calling onError
, this method will
throw an exception.
The difference between this method and subscribe(Consumer)
is that the onNext
action
is executed on the emission thread instead of the current thread.
blockingForEach
does not operate by default on a particular Scheduler
.onNext
- the Consumer
to invoke for each item emitted by the Observable
java.lang.RuntimeException
- if an error occurssubscribe(Consumer)
@CheckReturnValue @SchedulerSupport(value="none") public final java.lang.Iterable<T> blockingIterable()
Observable
into an Iterable
.
blockingIterable
does not operate by default on a particular Scheduler
.Iterable
version of this Observable
@CheckReturnValue @SchedulerSupport(value="none") public final java.lang.Iterable<T> blockingIterable(int bufferSize)
Observable
into an Iterable
.
blockingIterable
does not operate by default on a particular Scheduler
.bufferSize
- the number of items to prefetch from the current ObservableIterable
version of this Observable
@CheckReturnValue @SchedulerSupport(value="none") public final T blockingLast()
Observable
, or throws
NoSuchElementException
if this Observable
emits no items.
blockingLast
does not operate by default on a particular Scheduler
.Observable
java.util.NoSuchElementException
- if this Observable
emits no items@CheckReturnValue @SchedulerSupport(value="none") public final T blockingLast(T defaultItem)
Observable
, or a default value if it emits no
items.
blockingLast
does not operate by default on a particular Scheduler
.defaultItem
- a default value to return if this Observable
emits no itemsObservable
, or the default value if it emits no
items@CheckReturnValue @SchedulerSupport(value="none") public final java.lang.Iterable<T> blockingLatest()
Iterable
that returns the latest item emitted by this Observable
,
waiting if necessary for one to become available.
If this Observable
produces items faster than Iterator.next
takes them,
onNext
events might be skipped, but onError
or onComplete
events are not.
Note also that an onNext
directly followed by onComplete
might hide the onNext
event.
blockingLatest
does not operate by default on a particular Scheduler
.Observable
@CheckReturnValue @SchedulerSupport(value="none") public final java.lang.Iterable<T> blockingMostRecent(T initialValue)
Iterable
that always returns the item most recently emitted by this
Observable
.
blockingMostRecent
does not operate by default on a particular Scheduler
.initialValue
- the initial value that the Iterable
sequence will yield if this
Observable
has not yet emitted an itemIterable
that on each iteration returns the item that this Observable
has most recently emitted@CheckReturnValue @SchedulerSupport(value="none") public final java.lang.Iterable<T> blockingNext()
Iterable
that blocks until this Observable
emits another item, then
returns that item.
blockingNext
does not operate by default on a particular Scheduler
.Iterable
that blocks upon each iteration until this Observable
emits
a new item, whereupon the Iterable returns that item@CheckReturnValue @SchedulerSupport(value="none") public final T blockingSingle()
Observable
completes after emitting a single item, return that item, otherwise
throw a NoSuchElementException
.
blockingSingle
does not operate by default on a particular Scheduler
.Observable
@CheckReturnValue @SchedulerSupport(value="none") public final T blockingSingle(T defaultItem)
Observable
completes after emitting a single item, return that item; if it emits
more than one item, throw an IllegalArgumentException
; if it emits no items, return a default
value.
blockingSingle
does not operate by default on a particular Scheduler
.defaultItem
- a default value to return if this Observable
emits no itemsObservable
, or the default value if it emits no
items@CheckReturnValue @SchedulerSupport(value="none") public final java.util.concurrent.Future<T> toFuture()
Future
representing the single value emitted by this Observable
.
If the Observable
emits more than one item, Future
will receive an
IllegalArgumentException
. If the Observable
is empty, Future
will receive an NoSuchElementException
.
If the Observable
may emit more than one item, use Observable.toList().toBlocking().toFuture()
.
toFuture
does not operate by default on a particular Scheduler
.Future
that expects a single item to be emitted by this Observable
@SchedulerSupport(value="none") public final void blockingSubscribe()
blockingSubscribe
does not operate by default on a particular Scheduler
.@SchedulerSupport(value="none") public final void blockingSubscribe(Consumer<? super T> onNext)
If the Observable emits an error, it is wrapped into an
OnErrorNotImplementedException
and routed to the RxJavaPlugins.onError handler.
blockingSubscribe
does not operate by default on a particular Scheduler
.onNext
- the callback action for each source value@SchedulerSupport(value="none") public final void blockingSubscribe(Consumer<? super T> onNext, Consumer<? super java.lang.Throwable> onError)
blockingSubscribe
does not operate by default on a particular Scheduler
.onNext
- the callback action for each source valueonError
- the callback action for an error event@SchedulerSupport(value="none") public final void blockingSubscribe(Consumer<? super T> onNext, Consumer<? super java.lang.Throwable> onError, Action onComplete)
blockingSubscribe
does not operate by default on a particular Scheduler
.onNext
- the callback action for each source valueonError
- the callback action for an error eventonComplete
- the callback action for the completion event.@SchedulerSupport(value="none") public final void blockingSubscribe(Observer<? super T> subscriber)
blockingSubscribe
does not operate by default on a particular Scheduler
.subscriber
- the subscriber to forward events and calls to in the current thread@CheckReturnValue @SchedulerSupport(value="none") public final Observable<java.util.List<T>> buffer(int count)
count
items. When the source
ObservableSource completes or encounters an error, the resulting ObservableSource emits the current buffer and
propagates the notification from the source ObservableSource.
buffer
does not operate by default on a particular Scheduler
.count
- the maximum number of items in each buffer before it should be emittedcount
items from the source ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final Observable<java.util.List<T>> buffer(int count, int skip)
skip
items, each containing count
items. When the source
ObservableSource completes or encounters an error, the resulting ObservableSource emits the current buffer and
propagates the notification from the source ObservableSource.
buffer
does not operate by default on a particular Scheduler
.count
- the maximum size of each buffer before it should be emittedskip
- how many items emitted by the source ObservableSource should be skipped before starting a new
buffer. Note that when skip
and count
are equal, this is the same operation as
buffer(int)
.skip
item from the source ObservableSource and
containing at most count
items@CheckReturnValue @SchedulerSupport(value="none") public final <U extends java.util.Collection<? super T>> Observable<U> buffer(int count, int skip, java.util.concurrent.Callable<U> bufferSupplier)
skip
items, each containing count
items. When the source
ObservableSource completes or encounters an error, the resulting ObservableSource emits the current buffer and
propagates the notification from the source ObservableSource.
buffer
does not operate by default on a particular Scheduler
.U
- the collection subclass type to buffer intocount
- the maximum size of each buffer before it should be emittedskip
- how many items emitted by the source ObservableSource should be skipped before starting a new
buffer. Note that when skip
and count
are equal, this is the same operation as
buffer(int)
.bufferSupplier
- a factory function that returns an instance of the collection subclass to be used and returned
as the bufferskip
item from the source ObservableSource and
containing at most count
items@CheckReturnValue @SchedulerSupport(value="none") public final <U extends java.util.Collection<? super T>> Observable<U> buffer(int count, java.util.concurrent.Callable<U> bufferSupplier)
count
items. When the source
ObservableSource completes or encounters an error, the resulting ObservableSource emits the current buffer and
propagates the notification from the source ObservableSource.
buffer
does not operate by default on a particular Scheduler
.U
- the collection subclass type to buffer intocount
- the maximum number of items in each buffer before it should be emittedbufferSupplier
- a factory function that returns an instance of the collection subclass to be used and returned
as the buffercount
items from the source ObservableSource@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") public final Observable<java.util.List<T>> buffer(long timespan, long timeskip, java.util.concurrent.TimeUnit unit)
timeskip
argument. It emits
each buffer after a fixed timespan, specified by the timespan
argument. When the source
ObservableSource completes or encounters an error, the resulting ObservableSource emits the current buffer and
propagates the notification from the source ObservableSource.
buffer
operates by default on the computation
Scheduler
.timespan
- the period of time each buffer collects items before it is emittedtimeskip
- the period of time after which a new buffer will be createdunit
- the unit of time that applies to the timespan
and timeskip
arguments@CheckReturnValue @SchedulerSupport(value="custom") public final Observable<java.util.List<T>> buffer(long timespan, long timeskip, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
timeskip
argument, and on the
specified scheduler
. It emits each buffer after a fixed timespan, specified by the
timespan
argument. When the source ObservableSource completes or encounters an error, the resulting
ObservableSource emits the current buffer and propagates the notification from the source ObservableSource.
Scheduler
this operator will usetimespan
- the period of time each buffer collects items before it is emittedtimeskip
- the period of time after which a new buffer will be createdunit
- the unit of time that applies to the timespan
and timeskip
argumentsscheduler
- the Scheduler
to use when determining the end and start of a buffer@CheckReturnValue @SchedulerSupport(value="custom") public final <U extends java.util.Collection<? super T>> Observable<U> buffer(long timespan, long timeskip, java.util.concurrent.TimeUnit unit, Scheduler scheduler, java.util.concurrent.Callable<U> bufferSupplier)
timeskip
argument, and on the
specified scheduler
. It emits each buffer after a fixed timespan, specified by the
timespan
argument. When the source ObservableSource completes or encounters an error, the resulting
ObservableSource emits the current buffer and propagates the notification from the source ObservableSource.
Scheduler
this operator will useU
- the collection subclass type to buffer intotimespan
- the period of time each buffer collects items before it is emittedtimeskip
- the period of time after which a new buffer will be createdunit
- the unit of time that applies to the timespan
and timeskip
argumentsscheduler
- the Scheduler
to use when determining the end and start of a bufferbufferSupplier
- a factory function that returns an instance of the collection subclass to be used and returned
as the buffer@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") public final Observable<java.util.List<T>> buffer(long timespan, java.util.concurrent.TimeUnit unit)
timespan
argument. When the source ObservableSource completes or encounters an error, the resulting
ObservableSource emits the current buffer and propagates the notification from the source ObservableSource.
buffer
operates by default on the computation
Scheduler
.timespan
- the period of time each buffer collects items before it is emitted and replaced with a new
bufferunit
- the unit of time that applies to the timespan
argument@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") public final Observable<java.util.List<T>> buffer(long timespan, java.util.concurrent.TimeUnit unit, int count)
timespan
argument or a maximum size specified by the count
argument (whichever is reached
first). When the source ObservableSource completes or encounters an error, the resulting ObservableSource emits the
current buffer and propagates the notification from the source ObservableSource.
buffer
operates by default on the computation
Scheduler
.timespan
- the period of time each buffer collects items before it is emitted and replaced with a new
bufferunit
- the unit of time which applies to the timespan
argumentcount
- the maximum size of each buffer before it is emitted@CheckReturnValue @SchedulerSupport(value="custom") public final Observable<java.util.List<T>> buffer(long timespan, java.util.concurrent.TimeUnit unit, Scheduler scheduler, int count)
timespan
argument as measured on the specified scheduler
, or a maximum size specified by
the count
argument (whichever is reached first). When the source ObservableSource completes or
encounters an error, the resulting ObservableSource emits the current buffer and propagates the notification
from the source ObservableSource.
Scheduler
this operator will usetimespan
- the period of time each buffer collects items before it is emitted and replaced with a new
bufferunit
- the unit of time which applies to the timespan
argumentscheduler
- the Scheduler
to use when determining the end and start of a buffercount
- the maximum size of each buffer before it is emitted@CheckReturnValue @SchedulerSupport(value="custom") public final <U extends java.util.Collection<? super T>> Observable<U> buffer(long timespan, java.util.concurrent.TimeUnit unit, Scheduler scheduler, int count, java.util.concurrent.Callable<U> bufferSupplier, boolean restartTimerOnMaxSize)
timespan
argument as measured on the specified scheduler
, or a maximum size specified by
the count
argument (whichever is reached first). When the source ObservableSource completes or
encounters an error, the resulting ObservableSource emits the current buffer and propagates the notification
from the source ObservableSource.
Scheduler
this operator will useU
- the collection subclass type to buffer intotimespan
- the period of time each buffer collects items before it is emitted and replaced with a new
bufferunit
- the unit of time which applies to the timespan
argumentscheduler
- the Scheduler
to use when determining the end and start of a buffercount
- the maximum size of each buffer before it is emittedbufferSupplier
- a factory function that returns an instance of the collection subclass to be used and returned
as the bufferrestartTimerOnMaxSize
- if true the time window is restarted when the max capacity of the current buffer
is reached@CheckReturnValue @SchedulerSupport(value="custom") public final Observable<java.util.List<T>> buffer(long timespan, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
timespan
argument and on the specified scheduler
. When the source ObservableSource completes or
encounters an error, the resulting ObservableSource emits the current buffer and propagates the notification
from the source ObservableSource.
Scheduler
this operator will usetimespan
- the period of time each buffer collects items before it is emitted and replaced with a new
bufferunit
- the unit of time which applies to the timespan
argumentscheduler
- the Scheduler
to use when determining the end and start of a buffer@CheckReturnValue @SchedulerSupport(value="none") public final <TOpening,TClosing> Observable<java.util.List<T>> buffer(ObservableSource<? extends TOpening> openingIndicator, Function<? super TOpening,? extends ObservableSource<? extends TClosing>> closingIndicator)
openingIndicator
ObservableSource emits an
item, and closes when the ObservableSource returned from closingIndicator
emits an item.
buffer
does not operate by default on a particular Scheduler
.TOpening
- the element type of the buffer-opening ObservableSourceTClosing
- the element type of the individual buffer-closing ObservableSourcesopeningIndicator
- the ObservableSource that, when it emits an item, causes a new buffer to be createdclosingIndicator
- the Function
that is used to produce an ObservableSource for every buffer created. When this
ObservableSource emits an item, the associated buffer is emitted.@CheckReturnValue @SchedulerSupport(value="none") public final <TOpening,TClosing,U extends java.util.Collection<? super T>> Observable<U> buffer(ObservableSource<? extends TOpening> openingIndicator, Function<? super TOpening,? extends ObservableSource<? extends TClosing>> closingIndicator, java.util.concurrent.Callable<U> bufferSupplier)
openingIndicator
ObservableSource emits an
item, and closes when the ObservableSource returned from closingIndicator
emits an item.
buffer
does not operate by default on a particular Scheduler
.U
- the collection subclass type to buffer intoTOpening
- the element type of the buffer-opening ObservableSourceTClosing
- the element type of the individual buffer-closing ObservableSourcesopeningIndicator
- the ObservableSource that, when it emits an item, causes a new buffer to be createdclosingIndicator
- the Function
that is used to produce an ObservableSource for every buffer created. When this
ObservableSource emits an item, the associated buffer is emitted.bufferSupplier
- a factory function that returns an instance of the collection subclass to be used and returned
as the buffer@CheckReturnValue @SchedulerSupport(value="none") public final <B> Observable<java.util.List<T>> buffer(ObservableSource<B> boundary)
Completion of either the source or the boundary ObservableSource causes the returned ObservableSource to emit the latest buffer and complete.
buffer
does not operate by default on a particular Scheduler
.B
- the boundary value type (ignored)boundary
- the boundary ObservableSourcebuffer(ObservableSource, int)
,
ReactiveX operators documentation: Buffer@CheckReturnValue @SchedulerSupport(value="none") public final <B> Observable<java.util.List<T>> buffer(ObservableSource<B> boundary, int initialCapacity)
Completion of either the source or the boundary ObservableSource causes the returned ObservableSource to emit the latest buffer and complete.
buffer
does not operate by default on a particular Scheduler
.B
- the boundary value type (ignored)boundary
- the boundary ObservableSourceinitialCapacity
- the initial capacity of each buffer chunkbuffer(ObservableSource)
@CheckReturnValue @SchedulerSupport(value="none") public final <B,U extends java.util.Collection<? super T>> Observable<U> buffer(ObservableSource<B> boundary, java.util.concurrent.Callable<U> bufferSupplier)
Completion of either the source or the boundary ObservableSource causes the returned ObservableSource to emit the latest buffer and complete.
buffer
does not operate by default on a particular Scheduler
.U
- the collection subclass type to buffer intoB
- the boundary value type (ignored)boundary
- the boundary ObservableSourcebufferSupplier
- a factory function that returns an instance of the collection subclass to be used and returned
as the bufferbuffer(ObservableSource, int)
,
ReactiveX operators documentation: Buffer@CheckReturnValue @SchedulerSupport(value="none") public final <B> Observable<java.util.List<T>> buffer(java.util.concurrent.Callable<? extends ObservableSource<B>> boundarySupplier)
closingIndicator
emits an item.
buffer
does not operate by default on a particular Scheduler
.B
- the value type of the boundary-providing ObservableSourceboundarySupplier
- a Callable
that produces an ObservableSource that governs the boundary between buffers.
Whenever the source ObservableSource
emits an item, buffer
emits the current buffer and
begins to fill a new oneclosingIndicator
argument emits an item@CheckReturnValue @SchedulerSupport(value="none") public final <B,U extends java.util.Collection<? super T>> Observable<U> buffer(java.util.concurrent.Callable<? extends ObservableSource<B>> boundarySupplier, java.util.concurrent.Callable<U> bufferSupplier)
closingIndicator
emits an item.
buffer
does not operate by default on a particular Scheduler
.U
- the collection subclass type to buffer intoB
- the value type of the boundary-providing ObservableSourceboundarySupplier
- a Callable
that produces an ObservableSource that governs the boundary between buffers.
Whenever the source ObservableSource
emits an item, buffer
emits the current buffer and
begins to fill a new onebufferSupplier
- a factory function that returns an instance of the collection subclass to be used and returned
as the bufferclosingIndicator
argument emits an item@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> cache()
This is useful when you want an ObservableSource to cache responses and you can't control the
subscribe/dispose behavior of all the Observer
s.
The operator subscribes only when the first downstream subscriber subscribes and maintains
a single subscription towards this ObservableSource. In contrast, the operator family of replay()
that return a ConnectableObservable
require an explicit call to ConnectableObservable.connect()
.
Note: You sacrifice the ability to dispose the origin when you use the cache
Observer so be careful not to use this Observer on ObservableSources that emit an infinite or very large number
of items that will use up memory.
A possible workaround is to apply `takeUntil` with a predicate or
another source before (and perhaps after) the application of cache().
AtomicBoolean shouldStop = new AtomicBoolean();
source.takeUntil(v -> shouldStop.get())
.cache()
.takeUntil(v -> shouldStop.get())
.subscribe(...);
Since the operator doesn't allow clearing the cached values either, the possible workaround is
to forget all references to it via onTerminateDetach()
applied along with the previous
workaround:
AtomicBoolean shouldStop = new AtomicBoolean();
source.takeUntil(v -> shouldStop.get())
.onTerminateDetach()
.cache()
.takeUntil(v -> shouldStop.get())
.onTerminateDetach()
.subscribe(...);
cache
does not operate by default on a particular Scheduler
.@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> cacheWithInitialCapacity(int initialCapacity)
This is useful when you want an ObservableSource to cache responses and you can't control the
subscribe/dispose behavior of all the Observer
s.
The operator subscribes only when the first downstream subscriber subscribes and maintains
a single subscription towards this ObservableSource. In contrast, the operator family of replay()
that return a ConnectableObservable
require an explicit call to ConnectableObservable.connect()
.
Note: You sacrifice the ability to dispose the origin when you use the cache
Observer so be careful not to use this Observer on ObservableSources that emit an infinite or very large number
of items that will use up memory.
A possible workaround is to apply `takeUntil` with a predicate or
another source before (and perhaps after) the application of cache().
AtomicBoolean shouldStop = new AtomicBoolean();
source.takeUntil(v -> shouldStop.get())
.cache()
.takeUntil(v -> shouldStop.get())
.subscribe(...);
Since the operator doesn't allow clearing the cached values either, the possible workaround is
to forget all references to it via onTerminateDetach()
applied along with the previous
workaround:
AtomicBoolean shouldStop = new AtomicBoolean();
source.takeUntil(v -> shouldStop.get())
.onTerminateDetach()
.cache()
.takeUntil(v -> shouldStop.get())
.onTerminateDetach()
.subscribe(...);
cacheWithInitialCapacity
does not operate by default on a particular Scheduler
.
Note: The capacity hint is not an upper bound on cache size. For that, consider
replay(int)
in combination with ConnectableObservable.autoConnect()
or similar.
initialCapacity
- hint for number of items to cache (for optimizing underlying data structure)@CheckReturnValue @SchedulerSupport(value="none") public final <U> Observable<U> cast(java.lang.Class<U> clazz)
cast
does not operate by default on a particular Scheduler
.U
- the output value type cast toclazz
- the target class type that cast
will cast the items emitted by the source ObservableSource
into before emitting them from the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final <U> Single<U> collect(java.util.concurrent.Callable<? extends U> initialValueSupplier, BiConsumer<? super U,? super T> collector)
This is a simplified version of reduce
that does not need to return the state on each pass.
collect
does not operate by default on a particular Scheduler
.U
- the accumulator and output typeinitialValueSupplier
- the mutable data structure that will collect the itemscollector
- a function that accepts the state
and an emitted item, and modifies state
accordingly@CheckReturnValue @SchedulerSupport(value="none") public final <U> Single<U> collectInto(U initialValue, BiConsumer<? super U,? super T> collector)
This is a simplified version of reduce
that does not need to return the state on each pass.
collectInto
does not operate by default on a particular Scheduler
.U
- the accumulator and output typeinitialValue
- the mutable data structure that will collect the itemscollector
- a function that accepts the state
and an emitted item, and modifies state
accordingly@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> compose(ObservableTransformer<? super T,? extends R> composer)
This method operates on the ObservableSource itself whereas lift(io.reactivex.ObservableOperator<? extends R, ? super T>)
operates on the ObservableSource's
Observers.
If the operator you are creating is designed to act on the individual items emitted by a source
ObservableSource, use lift(io.reactivex.ObservableOperator<? extends R, ? super T>)
. If your operator is designed to transform the source ObservableSource 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
.R
- the value type of the output ObservableSourcecomposer
- implements the function that transforms the source ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> concatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper)
concatMap
does not operate by default on a particular Scheduler
.R
- the type of the inner ObservableSource sources and thus the output typemapper
- a function that, when applied to an item emitted by the source ObservableSource, returns an
ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> concatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper, int prefetch)
concatMap
does not operate by default on a particular Scheduler
.R
- the type of the inner ObservableSource sources and thus the output typemapper
- a function that, when applied to an item emitted by the source ObservableSource, returns an
ObservableSourceprefetch
- the number of elements to prefetch from the current Observable@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> concatMapDelayError(Function<? super T,? extends ObservableSource<? extends R>> mapper)
concatMapDelayError
does not operate by default on a particular Scheduler
.R
- the result value typemapper
- the function that maps the items of this ObservableSource into the inner ObservableSources.@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> concatMapDelayError(Function<? super T,? extends ObservableSource<? extends R>> mapper, int prefetch, boolean tillTheEnd)
concatMapDelayError
does not operate by default on a particular Scheduler
.R
- the result value typemapper
- the function that maps the items of this ObservableSource into the inner ObservableSources.prefetch
- the number of elements to prefetch from the current ObservabletillTheEnd
- if true, all errors from the outer and inner ObservableSource sources are delayed until the end,
if false, an error from the main source is signalled when the current ObservableSource source terminates@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> concatMapEager(Function<? super T,? extends ObservableSource<? extends R>> mapper)
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the source ObservableSources. The operator buffers the values emitted by these ObservableSources and then drains them in order, each one after the previous one completes.
Scheduler
.R
- the value typemapper
- the function that maps a sequence of values into a sequence of ObservableSources that will be
eagerly concatenated@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> concatMapEager(Function<? super T,? extends ObservableSource<? extends R>> mapper, int maxConcurrency, int prefetch)
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the source ObservableSources. The operator buffers the values emitted by these ObservableSources and then drains them in order, each one after the previous one completes.
Scheduler
.R
- the value typemapper
- the function that maps a sequence of values into a sequence of ObservableSources that will be
eagerly concatenatedmaxConcurrency
- the maximum number of concurrent subscribed ObservableSourcesprefetch
- hints about the number of expected values from each inner ObservableSource, must be positive@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> concatMapEagerDelayError(Function<? super T,? extends ObservableSource<? extends R>> mapper, boolean tillTheEnd)
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the source ObservableSources. The operator buffers the values emitted by these ObservableSources and then drains them in order, each one after the previous one completes.
Scheduler
.R
- the value typemapper
- the function that maps a sequence of values into a sequence of ObservableSources that will be
eagerly concatenatedtillTheEnd
- if true, all errors from the outer and inner ObservableSource sources are delayed until the end,
if false, an error from the main source is signalled when the current ObservableSource source terminates@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> concatMapEagerDelayError(Function<? super T,? extends ObservableSource<? extends R>> mapper, int maxConcurrency, int prefetch, boolean tillTheEnd)
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the source ObservableSources. The operator buffers the values emitted by these ObservableSources and then drains them in order, each one after the previous one completes.
Scheduler
.R
- the value typemapper
- the function that maps a sequence of values into a sequence of ObservableSources that will be
eagerly concatenatedmaxConcurrency
- the maximum number of concurrent subscribed ObservableSourcesprefetch
- the number of elements to prefetch from each source ObservableSourcetillTheEnd
- if true, exceptions from the current Observable and all the inner ObservableSources are delayed until
all of them terminate, if false, exception from the current Observable is delayed until the
currently running ObservableSource terminates@CheckReturnValue @SchedulerSupport(value="none") public final <U> Observable<U> concatMapIterable(Function<? super T,? extends java.lang.Iterable<? extends U>> mapper)
concatMapIterable
does not operate by default on a particular Scheduler
.U
- the type of item emitted by the resulting ObservableSourcemapper
- a function that returns an Iterable sequence of values for when given an item emitted by the
source ObservableSourcecollectionSelector
@CheckReturnValue @SchedulerSupport(value="none") public final <U> Observable<U> concatMapIterable(Function<? super T,? extends java.lang.Iterable<? extends U>> mapper, int prefetch)
concatMapIterable
does not operate by default on a particular Scheduler
.U
- the type of item emitted by the resulting ObservableSourcemapper
- a function that returns an Iterable sequence of values for when given an item emitted by the
source ObservableSourceprefetch
- the number of elements to prefetch from the current ObservablecollectionSelector
@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> concatWith(ObservableSource<? extends T> other)
concatWith
does not operate by default on a particular Scheduler
.other
- an ObservableSource to be concatenated after the current@CheckReturnValue @SchedulerSupport(value="none") public final Single<java.lang.Boolean> contains(java.lang.Object element)
contains
does not operate by default on a particular Scheduler
.element
- the item to search for in the emissions from the source ObservableSourcetrue
if the specified item is emitted by the source ObservableSource,
or false
if the source ObservableSource completes without emitting that item@CheckReturnValue @SchedulerSupport(value="none") public final Single<java.lang.Long> count()
count
does not operate by default on a particular Scheduler
.count()
@CheckReturnValue @SchedulerSupport(value="none") public final <U> Observable<T> debounce(Function<? super T,? extends ObservableSource<U>> debounceSelector)
debounce
does not operate by default on a particular Scheduler
.U
- the debounce value type (ignored)debounceSelector
- function to retrieve a sequence that indicates the throttle duration for each item@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") public final Observable<T> debounce(long timeout, java.util.concurrent.TimeUnit unit)
Note: If items keep being emitted by the source ObservableSource faster than the timeout then no items will be emitted by the resulting ObservableSource.
Information on debounce vs throttle:
debounce
operates by default on the computation
Scheduler
.timeout
- the time each item has to be "the most recent" of those emitted by the source ObservableSource to
ensure that it's not droppedunit
- the TimeUnit
for the timeoutthrottleWithTimeout(long, TimeUnit)
@CheckReturnValue @SchedulerSupport(value="custom") public final Observable<T> debounce(long timeout, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
Note: If items keep being emitted by the source ObservableSource faster than the timeout then no items will be emitted by the resulting ObservableSource.
Information on debounce vs throttle:
Scheduler
this operator will usetimeout
- the time each item has to be "the most recent" of those emitted by the source ObservableSource to
ensure that it's not droppedunit
- the unit of time for the specified timeoutscheduler
- the Scheduler
to use internally to manage the timers that handle the timeout for each
itemthrottleWithTimeout(long, TimeUnit, Scheduler)
@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> defaultIfEmpty(T defaultItem)
defaultIfEmpty
does not operate by default on a particular Scheduler
.defaultItem
- the item to emit if the source ObservableSource emits no items@CheckReturnValue @SchedulerSupport(value="none") public final <U> Observable<T> delay(Function<? super T,? extends ObservableSource<U>> itemDelay)
Note: the resulting ObservableSource will immediately propagate any onError
notification
from the source ObservableSource.
delay
does not operate by default on a particular Scheduler
.U
- the item delay value type (ignored)itemDelay
- a function that returns an ObservableSource for each item emitted by the source ObservableSource, which is
then used to delay the emission of that item by the resulting ObservableSource until the ObservableSource
returned from itemDelay
emits an item@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") public final Observable<T> delay(long delay, java.util.concurrent.TimeUnit unit)
delay
operates by default on the computation
Scheduler
.delay
- the delay to shift the source byunit
- the TimeUnit
in which period
is defined@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") public final Observable<T> delay(long delay, java.util.concurrent.TimeUnit unit, boolean delayError)
delay
operates by default on the computation
Scheduler
.delay
- the delay to shift the source byunit
- the TimeUnit
in which period
is defineddelayError
- if true, the upstream exception is signalled with the given delay, after all preceding normal elements,
if false, the upstream exception is signalled immediately@CheckReturnValue @SchedulerSupport(value="custom") public final Observable<T> delay(long delay, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
Scheduler
this operator will usedelay
- the delay to shift the source byunit
- the time unit of delay
scheduler
- the Scheduler
to use for delaying@CheckReturnValue @SchedulerSupport(value="custom") public final Observable<T> delay(long delay, java.util.concurrent.TimeUnit unit, Scheduler scheduler, boolean delayError)
Scheduler
this operator will usedelay
- the delay to shift the source byunit
- the time unit of delay
scheduler
- the Scheduler
to use for delayingdelayError
- if true, the upstream exception is signalled with the given delay, after all preceding normal elements,
if false, the upstream exception is signalled immediately@CheckReturnValue @SchedulerSupport(value="none") public final <U,V> Observable<T> delay(ObservableSource<U> subscriptionDelay, Function<? super T,? extends ObservableSource<V>> itemDelay)
Note: the resulting ObservableSource will immediately propagate any onError
notification
from the source ObservableSource.
delay
does not operate by default on a particular Scheduler
.U
- the subscription delay value type (ignored)V
- the item delay value type (ignored)subscriptionDelay
- a function that returns an ObservableSource that triggers the subscription to the source ObservableSource
once it emits any itemitemDelay
- a function that returns an ObservableSource for each item emitted by the source ObservableSource, which is
then used to delay the emission of that item by the resulting ObservableSource until the ObservableSource
returned from itemDelay
emits an item@CheckReturnValue @SchedulerSupport(value="none") public final <U> Observable<T> delaySubscription(ObservableSource<U> other)
Scheduler
.U
- the value type of the other Observable, irrelevantother
- the other Observable that should trigger the subscription
to this Observable.@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") public final Observable<T> delaySubscription(long delay, java.util.concurrent.TimeUnit unit)
delaySubscription
operates by default on the computation
Scheduler
.delay
- the time to delay the subscriptionunit
- the time unit of delay
@CheckReturnValue @SchedulerSupport(value="custom") public final Observable<T> delaySubscription(long delay, java.util.concurrent.TimeUnit unit, Scheduler scheduler)
Scheduler
this operator will usedelay
- the time to delay the subscriptionunit
- the time unit of delay
scheduler
- the Scheduler on which the waiting and subscription will happen@CheckReturnValue @SchedulerSupport(value="none") public final <T2> Observable<T2> dematerialize()
materialize
by transforming the
Notification
objects emitted by the source ObservableSource into the items or notifications they
represent.
dematerialize
does not operate by default on a particular Scheduler
.T2
- the output value typeNotification
objects
emitted by the source ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> distinct()
distinct
does not operate by default on a particular Scheduler
.@CheckReturnValue @SchedulerSupport(value="none") public final <K> Observable<T> distinct(Function<? super T,K> keySelector)
distinct
does not operate by default on a particular Scheduler
.K
- the key typekeySelector
- a function that projects an emitted item to a key value that is used to decide whether an item
is distinct from another one or not@CheckReturnValue @SchedulerSupport(value="none") public final <K> Observable<T> distinct(Function<? super T,K> keySelector, java.util.concurrent.Callable<? extends java.util.Collection<? super K>> collectionSupplier)
distinct
does not operate by default on a particular Scheduler
.K
- the key typekeySelector
- a function that projects an emitted item to a key value that is used to decide whether an item
is distinct from another one or notcollectionSupplier
- function called for each individual Observer to return a Collection subtype for holding the extracted
keys and whose add() method's return indicates uniqueness.@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> distinctUntilChanged()
distinctUntilChanged
does not operate by default on a particular Scheduler
.@CheckReturnValue @SchedulerSupport(value="none") public final <K> Observable<T> distinctUntilChanged(Function<? super T,K> keySelector)
distinctUntilChanged
does not operate by default on a particular Scheduler
.K
- the key typekeySelector
- a function that projects an emitted item to a key value that is used to decide whether an item
is distinct from another one or not@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> distinctUntilChanged(BiPredicate<? super T,? super T> comparer)
distinctUntilChanged
does not operate by default on a particular Scheduler
.comparer
- the function that receives the previous item and the current item and is
expected to return true if the two are equal, thus skipping the current value.@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doAfterNext(Consumer<? super T> onAfterNext)
Note that the onAfterNext
action is shared between subscriptions and as such
should be thread-safe.
doAfterNext
does not operate by default on a particular Scheduler
.onAfterNext
- the Consumer that will be called after emitting an item from upstream to the downstream@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doAfterTerminate(Action onFinally)
Action
to be called when this ObservableSource invokes either
onComplete
or onError
.
doAfterTerminate
does not operate by default on a particular Scheduler
.onFinally
- an Action
to be invoked when the source ObservableSource finishesAction
doOnTerminate(Action)
@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doFinally(Action onFinally)
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
.onFinally
- the action called when this Observable terminates or gets cancelled@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doOnDispose(Action onDispose)
Action
if the downstream disposes the sequence.
The action is shared between subscriptions and thus may be called concurrently from multiple threads; the action must be thread safe.
If the action throws a runtime exception, that exception is rethrown by the dispose()
call,
sometimes as a CompositeException
if there were multiple exceptions along the way.
Note that terminal events trigger the action unless the ObservableSource
is subscribed to via unsafeSubscribe()
.
doOnDispose
does not operate by default on a particular Scheduler
.onDispose
- the action that gets called when the source ObservableSource
's Disposable is disposedObservableSource
modified so as to call this Action when appropriate@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doOnComplete(Action onComplete)
onComplete
.
doOnComplete
does not operate by default on a particular Scheduler
.onComplete
- the action to invoke when the source ObservableSource calls onComplete
@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doOnEach(Consumer<? super Notification<T>> onNotification)
doOnEach
does not operate by default on a particular Scheduler
.onNotification
- the action to invoke for each item emitted by the source ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doOnEach(Observer<? super T> observer)
In case the onError
of the supplied observer throws, the downstream will receive a composite
exception containing the original exception and the exception thrown by onError
. If either the
onNext
or the onComplete
method of the supplied observer throws, the downstream will be
terminated and will receive this thrown exception.
doOnEach
does not operate by default on a particular Scheduler
.observer
- the observer to be notified about onNext, onError and onComplete events on its
respective methods before the actual downstream Observer gets notified.@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doOnError(Consumer<? super java.lang.Throwable> onError)
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 ObservableSource calls onError
@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doOnLifecycle(Consumer<? super Disposable> onSubscribe, Action onDispose)
doOnLifecycle
does not operate by default on a particular Scheduler
.onSubscribe
- a Consumer called with the Disposable sent via Observer.onSubscribe()onDispose
- called when the downstream disposes the Disposable via dispose()@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doOnNext(Consumer<? super T> onNext)
onNext
.
doOnNext
does not operate by default on a particular Scheduler
.onNext
- the action to invoke when the source ObservableSource calls onNext
@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doOnSubscribe(Consumer<? super Disposable> onSubscribe)
ObservableSource
so that it invokes the given action when it is subscribed from
its subscribers. Each subscription will result in an invocation of the given action except when the
source ObservableSource
is reference counted, in which case the source ObservableSource
will invoke
the given action for the first subscription.
doOnSubscribe
does not operate by default on a particular Scheduler
.onSubscribe
- the Consumer that gets called when an Observer subscribes to the current Observable
ObservableSource
modified so as to call this Consumer when appropriate@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> doOnTerminate(Action onTerminate)
onComplete
or
onError
.
This differs from doAfterTerminate
in that this happens before the onComplete
or
onError
notification.
doOnTerminate
does not operate by default on a particular Scheduler
.onTerminate
- the action to invoke when the source ObservableSource calls onComplete
or onError
doAfterTerminate(Action)
@CheckReturnValue @SchedulerSupport(value="none") public final Maybe<T> elementAt(long index)
elementAt
does not operate by default on a particular Scheduler
.index
- the zero-based index of the item to retrievejava.lang.IndexOutOfBoundsException
- if index
is less than 0@CheckReturnValue @SchedulerSupport(value="none") public final Single<T> elementAt(long index, T defaultItem)
elementAt
does not operate by default on a particular Scheduler
.index
- the zero-based index of the item to retrievedefaultItem
- the default itemjava.lang.IndexOutOfBoundsException
- if index
is less than 0@CheckReturnValue @SchedulerSupport(value="none") public final Single<T> elementAtOrError(long index)
NoSuchElementException
if this Observable signals fewer elements than index.
elementAtOrError
does not operate by default on a particular Scheduler
.index
- the zero-based index of the item to retrievejava.lang.IndexOutOfBoundsException
- if index
is less than 0@CheckReturnValue @SchedulerSupport(value="none") public final Observable<T> filter(Predicate<? super T> predicate)
filter
does not operate by default on a particular Scheduler
.predicate
- a function that evaluates each item emitted by the source ObservableSource, returning true
if it passes the filtertrue
@CheckReturnValue @SchedulerSupport(value="none") public final Maybe<T> firstElement()
firstElement
does not operate by default on a particular Scheduler
.@CheckReturnValue @SchedulerSupport(value="none") public final Single<T> first(T defaultItem)
first
does not operate by default on a particular Scheduler
.defaultItem
- the default item to emit if the source ObservableSource doesn't emit anything@CheckReturnValue @SchedulerSupport(value="none") public final Single<T> firstOrError()
NoSuchElementException
if this Observable is empty.
firstOrError
does not operate by default on a particular Scheduler
.@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper)
flatMap
does not operate by default on a particular Scheduler
.R
- the value type of the inner ObservableSources and the output typemapper
- a function that, when applied to an item emitted by the source ObservableSource, returns an
ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper, boolean delayErrors)
flatMap
does not operate by default on a particular Scheduler
.R
- the value type of the inner ObservableSources and the output typemapper
- a function that, when applied to an item emitted by the source ObservableSource, returns an
ObservableSourcedelayErrors
- if true, exceptions from the current Observable and all inner ObservableSources are delayed until all of them terminate
if false, the first one signalling an exception will terminate the whole sequence immediately@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper, boolean delayErrors, int maxConcurrency)
flatMap
does not operate by default on a particular Scheduler
.R
- the value type of the inner ObservableSources and the output typemapper
- a function that, when applied to an item emitted by the source ObservableSource, returns an
ObservableSourcemaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrentlydelayErrors
- if true, exceptions from the current Observable and all inner ObservableSources are delayed until all of them terminate
if false, the first one signalling an exception will terminate the whole sequence immediately@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper, boolean delayErrors, int maxConcurrency, int bufferSize)
flatMap
does not operate by default on a particular Scheduler
.R
- the value type of the inner ObservableSources and the output typemapper
- a function that, when applied to an item emitted by the source ObservableSource, returns an
ObservableSourcemaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrentlydelayErrors
- if true, exceptions from the current Observable and all inner ObservableSources are delayed until all of them terminate
if false, the first one signalling an exception will terminate the whole sequence immediatelybufferSize
- the number of elements to prefetch from each inner ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends R>> onNextMapper, Function<? super java.lang.Throwable,? extends ObservableSource<? extends R>> onErrorMapper, java.util.concurrent.Callable<? extends ObservableSource<? extends R>> onCompleteSupplier)
flatMap
does not operate by default on a particular Scheduler
.R
- the result typeonNextMapper
- a function that returns an ObservableSource to merge for each item emitted by the source ObservableSourceonErrorMapper
- a function that returns an ObservableSource to merge for an onError notification from the source
ObservableSourceonCompleteSupplier
- a function that returns an ObservableSource to merge for an onComplete notification from the source
ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends R>> onNextMapper, Function<java.lang.Throwable,? extends ObservableSource<? extends R>> onErrorMapper, java.util.concurrent.Callable<? extends ObservableSource<? extends R>> onCompleteSupplier, int maxConcurrency)
flatMap
does not operate by default on a particular Scheduler
.R
- the result typeonNextMapper
- a function that returns an ObservableSource to merge for each item emitted by the source ObservableSourceonErrorMapper
- a function that returns an ObservableSource to merge for an onError notification from the source
ObservableSourceonCompleteSupplier
- a function that returns an ObservableSource to merge for an onComplete notification from the source
ObservableSourcemaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrently@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends R>> mapper, int maxConcurrency)
flatMap
does not operate by default on a particular Scheduler
.R
- the value type of the inner ObservableSources and the output typemapper
- a function that, when applied to an item emitted by the source ObservableSource, returns an
ObservableSourcemaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrently@CheckReturnValue @SchedulerSupport(value="none") public final <U,R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends U>> mapper, BiFunction<? super T,? super U,? extends R> resultSelector)
flatMap
does not operate by default on a particular Scheduler
.U
- the type of items emitted by the collection ObservableSourceR
- the type of items emitted by the resulting ObservableSourcemapper
- a function that returns an ObservableSource for each item emitted by the source ObservableSourceresultSelector
- a function that combines one item emitted by each of the source and collection ObservableSources and
returns an item to be emitted by the resulting ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final <U,R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends U>> mapper, BiFunction<? super T,? super U,? extends R> combiner, boolean delayErrors)
flatMap
does not operate by default on a particular Scheduler
.U
- the type of items emitted by the collection ObservableSourceR
- the type of items emitted by the resulting ObservableSourcemapper
- a function that returns an ObservableSource for each item emitted by the source ObservableSourcecombiner
- a function that combines one item emitted by each of the source and collection ObservableSources and
returns an item to be emitted by the resulting ObservableSourcedelayErrors
- if true, exceptions from the current Observable and all inner ObservableSources are delayed until all of them terminate
if false, the first one signalling an exception will terminate the whole sequence immediately@CheckReturnValue @SchedulerSupport(value="none") public final <U,R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends U>> mapper, BiFunction<? super T,? super U,? extends R> combiner, boolean delayErrors, int maxConcurrency)
flatMap
does not operate by default on a particular Scheduler
.U
- the type of items emitted by the collection ObservableSourceR
- the type of items emitted by the resulting ObservableSourcemapper
- a function that returns an ObservableSource for each item emitted by the source ObservableSourcecombiner
- a function that combines one item emitted by each of the source and collection ObservableSources and
returns an item to be emitted by the resulting ObservableSourcemaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrentlydelayErrors
- if true, exceptions from the current Observable and all inner ObservableSources are delayed until all of them terminate
if false, the first one signalling an exception will terminate the whole sequence immediately@CheckReturnValue @SchedulerSupport(value="none") public final <U,R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends U>> mapper, BiFunction<? super T,? super U,? extends R> combiner, boolean delayErrors, int maxConcurrency, int bufferSize)
flatMap
does not operate by default on a particular Scheduler
.U
- the type of items emitted by the collection ObservableSourceR
- the type of items emitted by the resulting ObservableSourcemapper
- a function that returns an ObservableSource for each item emitted by the source ObservableSourcecombiner
- a function that combines one item emitted by each of the source and collection ObservableSources and
returns an item to be emitted by the resulting ObservableSourcemaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrentlydelayErrors
- if true, exceptions from the current Observable and all inner ObservableSources are delayed until all of them terminate
if false, the first one signalling an exception will terminate the whole sequence immediatelybufferSize
- the number of elements to prefetch from the inner ObservableSources.@CheckReturnValue @SchedulerSupport(value="none") public final <U,R> Observable<R> flatMap(Function<? super T,? extends ObservableSource<? extends U>> mapper, BiFunction<? super T,? super U,? extends R> combiner, int maxConcurrency)
flatMap
does not operate by default on a particular Scheduler
.U
- the type of items emitted by the collection ObservableSourceR
- the type of items emitted by the resulting ObservableSourcemapper
- a function that returns an ObservableSource for each item emitted by the source ObservableSourcecombiner
- a function that combines one item emitted by each of the source and collection ObservableSources and
returns an item to be emitted by the resulting ObservableSourcemaxConcurrency
- the maximum number of ObservableSources that may be subscribed to concurrently@CheckReturnValue @SchedulerSupport(value="none") public final Completable flatMapCompletable(Function<? super T,? extends CompletableSource> mapper)
flatMapCompletable
does not operate by default on a particular Scheduler
.mapper
- the function that received each source value and transforms them into CompletableSources.@CheckReturnValue @SchedulerSupport(value="none") public final Completable flatMapCompletable(Function<? super T,? extends CompletableSource> mapper, boolean delayErrors)
flatMapCompletable
does not operate by default on a particular Scheduler
.mapper
- the function that received each source value and transforms them into CompletableSources.delayErrors
- if true errors from the upstream and inner CompletableSources are delayed until each of them
terminates.@CheckReturnValue @SchedulerSupport(value="none") public final <U> Observable<U> flatMapIterable(Function<? super T,? extends java.lang.Iterable<? extends U>> mapper)
flatMapIterable
does not operate by default on a particular Scheduler
.U
- the type of item emitted by the resulting Iterablemapper
- a function that returns an Iterable sequence of values for when given an item emitted by the
source ObservableSourcecollectionSelector
@CheckReturnValue @SchedulerSupport(value="none") public final <U,V> Observable<V> flatMapIterable(Function<? super T,? extends java.lang.Iterable<? extends U>> mapper, BiFunction<? super T,? super U,? extends V> resultSelector)
flatMapIterable
does not operate by default on a particular Scheduler
.U
- the collection element typeV
- the type of item emitted by the resulting Iterablemapper
- a function that returns an Iterable sequence of values for each item emitted by the source
ObservableSourceresultSelector
- a function that returns an item based on the item emitted by the source ObservableSource and the
Iterable returned for that item by the collectionSelector
resultSelector
for each item in the source
ObservableSource@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> flatMapMaybe(Function<? super T,? extends MaybeSource<? extends R>> mapper)
flatMapMaybe
does not operate by default on a particular Scheduler
.R
- the result value typemapper
- the function that received each source value and transforms them into MaybeSources.@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> flatMapMaybe(Function<? super T,? extends MaybeSource<? extends R>> mapper, boolean delayErrors)
flatMapMaybe
does not operate by default on a particular Scheduler
.R
- the result value typemapper
- the function that received each source value and transforms them into MaybeSources.delayErrors
- if true errors from the upstream and inner MaybeSources are delayed until each of them
terminates.@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> flatMapSingle(Function<? super T,? extends SingleSource<? extends R>> mapper)
flatMapSingle
does not operate by default on a particular Scheduler
.R
- the result value typemapper
- the function that received each source value and transforms them into SingleSources.@CheckReturnValue @SchedulerSupport(value="none") public final <R> Observable<R> flatMapSingle(Function<? super T,? extends SingleSource<? extends R>> mapper, boolean delayErrors)
flatMapSingle
does not operate by default on a particular Scheduler
.R
- the result value typemapper
- the function that received each source value and transforms them into SingleSources.delayErrors
- if true errors from the upstream and inner SingleSources are delayed until each of them
terminates.@CheckReturnValue @SchedulerSupport(value="none") public final Disposable forEach(Consumer<? super T> onNext)
ObservableSource
and receives notifications for each element.
Alias to subscribe(Consumer)
forEach
does not operate by default on a particular Scheduler
.onNext
- Consumer
to execute for each item.java.lang.NullPointerException
- if onNext
is null@CheckReturnValue @SchedulerSupport(value="none") public final Disposable forEachWhile(Predicate<? super T> onNext)
ObservableSource
and receives notifications for each element until the
onNext Predicate returns false.
If the Observable emits an error, it is wrapped into an
OnErrorNotImplementedException
and routed to the RxJavaPlugins.onError handler.
forEachWhile
does not operate by default on a particular Scheduler
.onNext
- Predicate
to execute for each item.java.lang.NullPointerException
- if onNext
is null@CheckReturnValue @SchedulerSupport(value="none") public final Disposable forEachWhile(Predicate<? super T> onNext, Consumer<? super java.lang.Throwable> onError)
ObservableSource
and receives notifications for each element and error events until the
onNext Predicate returns false.
forEachWhile
does not operate by default on a particular Scheduler
.onNext
- Predicate
to execute for each item.onError
- Consumer
to execute when an error is emitted.java.lang.NullPointerException
- if onNext
is null, or
if onError
is null@CheckReturnValue @SchedulerSupport(value="none") public final Disposable forEachWhile(Predicate<? super T> onNext, Consumer<? super java.lang.Throwable> onError, Action onComplete)
ObservableSource
and receives notifications for each element and the terminal events until the
onNext Predicate returns false.
forEachWhile
does not operate by default on a particular Scheduler
.onNext
- Predicate
to execute for each item.onError
- Consumer
to execute when an error is emitted.onComplete
- Action
to execute when completion is signalled.java.lang.NullPointerException
- if onNext
is null, or
if onError
is null, or
if onComplete
is null@CheckReturnValue @SchedulerSupport(value="none") public final <K> Observable<GroupedObservable<K,T>> groupBy(Function<? super T,? extends K> keySelector)
ObservableSource
according to a specified criterion, and emits these
grouped items as GroupedObservable
s. The emitted GroupedObservableSource
allows only a single
Observer
during its lifetime and if this Observer
calls dispose() before the
source terminates, the next emission by the source having the same key will trigger a new
GroupedObservableSource
emission.
Note: A GroupedObservable
will cache the items it is to emit until such time as it
is subscribed to. For this reason, in order to avoid memory leaks, you should not simply ignore those
GroupedObservableSource
s that do not concern you. Instead, you can signal to them that they may
discard their buffers by applying an operator like ignoreElements()
to them.
groupBy
does not operate by default on a particular Scheduler
.K
- the key typekeySelector
- a function that extracts the key for each itemObservableSource
that emits GroupedObservable
s, each of which corresponds to a
unique key value and each of which emits those items from the source ObservableSource that share that
key value@CheckReturnValue @SchedulerSupport(value="none") public final <K> Observable<GroupedObservable<K,T>> groupBy(Function<? super T,? extends K> keySelector, boolean delayError)
ObservableSource
according to a specified criterion, and emits these
grouped items as GroupedObservable
s. The emitted GroupedObservableSource
allows only a single
Observer
during its lifetime and if this Observer
calls dispose() before the
source terminates, the next emission by the source having the same key will trigger a new
GroupedObservableSource
emission.
Note: A GroupedObservable
will cache the items it is to emit until such time as it
is subscribed to. For this reason, in order to avoid memory leaks, you should not simply ignore those
GroupedObservableSource
s that do not concern you. Instead, you can signal to them that they may
discard their buffers by applying an operator like ignoreElements()
to them.
groupBy
does not operate by default on a particular Scheduler
.K
- the key typekeySelector
- a function that extracts the key for each itemdelayError
- if true, the exception from the current Observable is delayed in each group until that specific group emitted
the normal values; if false, the exception bypasses values in the groups and is reported immediately.ObservableSource
that emits GroupedObservable
s, each of which corresponds to a
unique key value and each of which emits those items from the source ObservableSource that share that
key value@CheckReturnValue @SchedulerSupport(value="none") public final <K,V> Observable<GroupedObservable<K,V>> groupBy(Function<? super T,? extends K> keySelector, Function<? super T,? extends V> valueSelector)
ObservableSource
according to a specified criterion, and emits these
grouped items as GroupedObservable
s. The emitted GroupedObservableSource
allows only a single