java.lang.Object | |
↳ | io.reactivex.Observable<T> |
![]() |
![]() |
The Observable class is the non-backpressured, optionally multi-valued base reactive class that offers factory methods, intermediate operators and the ability to consume synchronous and/or asynchronous reactive dataflows.
Many operators in the class accept ObservableSource
(s), the base reactive interface
for such non-backpressured flows, which Observable
itself implements as well.
The Observable's operators, by default, run with a buffer size of 128 elements (see 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:
The design of this class was derived from the
Reactive-Streams design and specification
by removing any backpressure-related infrastructure and implementation detail, replacing the
org.reactivestreams.Subscription
with Disposable
as the primary means to cancel
a flow.
The Observable
follows the protocol
onSubscribe onNext* (onError | onComplete)?
where
the stream can be disposed through the Disposable
instance provided to consumers through
Observer.onSubscribe
.
Unlike the Observable
of version 1.x, subscribe(Observer)
does not allow external cancellation
of a subscription and the Observer
instance is expected to expose such capability.
Example:
Disposable d = Observable.just("Hello world!")
.delay(1, TimeUnit.SECONDS)
.subscribeWith(new DisposableObserver<String>() {
@Override public void onStart() {
System.out.println("Start!");
}
@Override public void onNext(Integer t) {
System.out.println(t);
}
@Override public void onError(Throwable t) {
t.printStackTrace();
}
@Override public void onComplete() {
System.out.println("Done!");
}
});
Thread.sleep(500);
// the sequence now can be cancelled via dispose()
d.dispose();
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Observable() |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
final Single<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(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.
| ||||||||||
final Observable<T> |
ambWith(ObservableSource<? extends T> other)
Mirrors the ObservableSource (current or provided) that first either emits an item or sends a termination
notification.
| ||||||||||
final Single<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 . | ||||||||||
final T |
blockingFirst(T defaultItem)
Returns the first item emitted by this
Observable , or a default value if it emits no
items. | ||||||||||
final T |
blockingFirst()
Returns the first item emitted by this
Observable , or throws
NoSuchElementException if it emits no items. | ||||||||||
final void |
blockingForEach(Consumer<? super T> onNext)
Invokes a method on each item emitted by this
Observable and blocks until the Observable
completes. | ||||||||||
final Iterable<T> |
blockingIterable(int bufferSize)
Converts this
Observable into an Iterable . | ||||||||||
final Iterable<T> |
blockingIterable()
Converts this
Observable into an Iterable . | ||||||||||
final T |
blockingLast()
Returns the last item emitted by this
Observable , or throws
NoSuchElementException if this Observable emits no items. | ||||||||||
final T |
blockingLast(T defaultItem)
Returns the last item emitted by this
Observable , or a default value if it emits no
items. | ||||||||||
final Iterable<T> |
blockingLatest()
Returns an
Iterable that returns the latest item emitted by this Observable ,
waiting if necessary for one to become available. | ||||||||||
final Iterable<T> |
blockingMostRecent(T initialValue)
Returns an
Iterable that always returns the item most recently emitted by this
Observable . | ||||||||||
final Iterable<T> |
blockingNext()
Returns an
Iterable that blocks until this Observable emits another item, then
returns that item. | ||||||||||
final 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. | ||||||||||
final T |
blockingSingle()
If this
Observable completes after emitting a single item, return that item, otherwise
throw a NoSuchElementException . | ||||||||||
final void |
blockingSubscribe(Consumer<? super T> onNext)
Subscribes to the source and calls the given callbacks on the current thread.
| ||||||||||
final void |
blockingSubscribe(Observer<? super T> subscriber)
Subscribes to the source and calls the Observer methods on the current thread.
| ||||||||||
final void |
blockingSubscribe(Consumer<? super T> onNext, Consumer<? super Throwable> onError)
Subscribes to the source and calls the given callbacks on the current thread.
| ||||||||||
final void |
blockingSubscribe()
Runs the source observable to a terminal event, ignoring any values and rethrowing any exception.
| ||||||||||
final void |
blockingSubscribe(Consumer<? super T> onNext, Consumer<? super Throwable> onError, Action onComplete)
Subscribes to the source and calls the given callbacks on the current thread.
| ||||||||||
final <TOpening, TClosing> Observable<List<T>> |
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.
| ||||||||||
final <TOpening, TClosing, U extends Collection<? super T>> Observable<U> |
buffer(ObservableSource<? extends TOpening> openingIndicator, Function<? super TOpening, ? extends ObservableSource<? extends TClosing>> closingIndicator, Callable<U> bufferSupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final <U extends Collection<? super T>> Observable<U> |
buffer(long timespan, long timeskip, TimeUnit unit, Scheduler scheduler, Callable<U> bufferSupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final Observable<List<T>> |
buffer(long timespan, long timeskip, TimeUnit unit, Scheduler scheduler)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final <U extends Collection<? super T>> Observable<U> |
buffer(int count, Callable<U> bufferSupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final <B, U extends Collection<? super T>> Observable<U> |
buffer(Callable<? extends ObservableSource<B>> boundarySupplier, Callable<U> bufferSupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final Observable<List<T>> |
buffer(long timespan, TimeUnit unit, Scheduler scheduler)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final <B> Observable<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.
| ||||||||||
final Observable<List<T>> |
buffer(int count)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final <B> Observable<List<T>> |
buffer(Callable<? extends ObservableSource<B>> boundarySupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final <B> Observable<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.
| ||||||||||
final Observable<List<T>> |
buffer(long timespan, long timeskip, TimeUnit unit)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final Observable<List<T>> |
buffer(long timespan, TimeUnit unit, Scheduler scheduler, int count)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final Observable<List<T>> |
buffer(long timespan, TimeUnit unit)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final <U extends Collection<? super T>> Observable<U> |
buffer(long timespan, TimeUnit unit, Scheduler scheduler, int count, Callable<U> bufferSupplier, boolean restartTimerOnMaxSize)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final <B, U extends Collection<? super T>> Observable<U> |
buffer(ObservableSource<B> boundary, 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.
| ||||||||||
final Observable<List<T>> |
buffer(int count, int skip)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final Observable<List<T>> |
buffer(long timespan, TimeUnit unit, int count)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
final <U extends Collection<? super T>> Observable<U> |
buffer(int count, int skip, Callable<U> bufferSupplier)
Returns an Observable that emits buffers of items it collects from the source ObservableSource.
| ||||||||||
static int |
bufferSize()
Returns the default 'island' size or capacity-increment hint for unbounded buffers.
| ||||||||||
final 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.
| ||||||||||
final 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.
| ||||||||||
final <U> Observable<U> |
cast(Class<U> clazz)
Returns an Observable that emits the items emitted by the source ObservableSource, converted to the specified
type.
| ||||||||||
final <U> Single<U> |
collect(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.
| ||||||||||
final <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 <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)
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, 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)
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 <T, R> Observable<R> |
combineLatest(Iterable<? extends ObservableSource<? extends T>> sources, Function<? super 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(Iterable<? extends ObservableSource<? extends T>> sources, Function<? super 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 <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)
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, 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, 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)
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 <T, R> Observable<R> |
combineLatest(ObservableSource[]<? extends T> sources, Function<? super 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 <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)
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 <T, R> Observable<R> |
combineLatest(ObservableSource[]<? extends T> sources, Function<? super 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, 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)
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 <T, R> Observable<R> |
combineLatest(Function<? super 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 <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)
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(Iterable<? extends ObservableSource<? extends T>> sources, Function<? super 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(Function<? super 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(Iterable<? extends ObservableSource<? extends T>> sources, Function<? super 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(ObservableSource[]<? extends T> sources, Function<? super 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 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.
| ||||||||||
final <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(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 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 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 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(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 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(ObservableSource...<? extends T> sources)
Concatenates a sequence of ObservableSources eagerly into a single stream of values.
| ||||||||||
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> |
concatDelayError(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, 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> |
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> |
concatEager(ObservableSource<? extends ObservableSource<? extends T>> sources, int maxConcurrency, int prefetch)
Concatenates an ObservableSource sequence of ObservableSources eagerly into a single stream of values.
| ||||||||||
static <T> Observable<T> |
concatEager(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(Iterable<? extends ObservableSource<? extends T>> sources)
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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <U> Observable<U> |
concatMapIterable(Function<? super T, ? extends 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.
| ||||||||||
final <U> Observable<U> |
concatMapIterable(Function<? super T, ? extends 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.
| ||||||||||
final 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.
| ||||||||||
final Single<Boolean> |
contains(Object element)
Returns an Observable that emits a Boolean that indicates whether the source ObservableSource emitted a
specified item.
| ||||||||||
final Single<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.
| ||||||||||
final Observable<T> |
debounce(long timeout, 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.
| ||||||||||
final Observable<T> |
debounce(long timeout, 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.
| ||||||||||
final <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.
| ||||||||||
final 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(Callable<? extends ObservableSource<? extends T>> supplier)
Returns an Observable that calls an ObservableSource factory to create an ObservableSource for each new Observer
that subscribes.
| ||||||||||
final Observable<T> |
delay(long delay, TimeUnit unit, boolean delayError)
Returns an Observable that emits the items emitted by the source ObservableSource shifted forward in time by a
specified delay.
| ||||||||||
final Observable<T> |
delay(long delay, TimeUnit unit, Scheduler scheduler)
Returns an Observable that emits the items emitted by the source ObservableSource shifted forward in time by a
specified delay.
| ||||||||||
final Observable<T> |
delay(long delay, 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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final Observable<T> |
delay(long delay, TimeUnit unit)
Returns an Observable that emits the items emitted by the source ObservableSource shifted forward in time by a
specified delay.
| ||||||||||
final Observable<T> |
delaySubscription(long delay, 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.
| ||||||||||
final Observable<T> |
delaySubscription(long delay, TimeUnit unit)
Returns an Observable that delays the subscription to the source ObservableSource by a given amount of time.
| ||||||||||
final <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.
| ||||||||||
final <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. | ||||||||||
final Observable<T> |
distinct()
Returns an Observable that emits all items emitted by the source ObservableSource that are distinct.
| ||||||||||
final <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.
| ||||||||||
final <K> Observable<T> |
distinct(Function<? super T, K> keySelector, Callable<? extends 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.
| ||||||||||
final 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.
| ||||||||||
final <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.
| ||||||||||
final Observable<T> |
distinctUntilChanged()
Returns an Observable that emits all items emitted by the source ObservableSource that are distinct from their
immediate predecessors.
| ||||||||||
final Observable<T> |
doAfterNext(Consumer<? super T> onAfterNext)
Calls the specified consumer with the current item after this item has been emitted to the downstream.
| ||||||||||
final Observable<T> | doAfterTerminate(Action onFinally) | ||||||||||
final Observable<T> |
doFinally(Action onFinally)
Calls the specified action after this Observable signals onError or onCompleted or gets disposed by
the downstream.
| ||||||||||
final Observable<T> |
doOnComplete(Action onComplete)
Modifies the source ObservableSource so that it invokes an action when it calls
onComplete . | ||||||||||
final Observable<T> |
doOnDispose(Action onDispose)
Calls the dispose
Action if the downstream disposes the sequence. | ||||||||||
final 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.
| ||||||||||
final Observable<T> |
doOnEach(Consumer<? super Notification<T>> onNotification)
Modifies the source ObservableSource so that it invokes an action for each item it emits.
| ||||||||||
final Observable<T> |
doOnError(Consumer<? super Throwable> onError)
Modifies the source ObservableSource so that it invokes an action if it calls
onError . | ||||||||||
final 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).
| ||||||||||
final Observable<T> |
doOnNext(Consumer<? super T> onNext)
Modifies the source ObservableSource so that it invokes an action when it calls
onNext . | ||||||||||
final 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. | ||||||||||
final Observable<T> |
doOnTerminate(Action onTerminate)
Modifies the source ObservableSource so that it invokes an action when it calls
onComplete or
onError . | ||||||||||
final 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.
| ||||||||||
final 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.
| ||||||||||
final 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(Callable<? extends Throwable> errorSupplier) | ||||||||||
static <T> Observable<T> | error(Throwable exception) | ||||||||||
final Observable<T> |
filter(Predicate<? super T> predicate)
Filters items emitted by an ObservableSource by only emitting those that satisfy a specified predicate.
| ||||||||||
final 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.
| ||||||||||
final 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.
| ||||||||||
final 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. | ||||||||||
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)
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.
| ||||||||||
final <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.
| ||||||||||
final <R> Observable<R> |
flatMap(Function<? super T, ? extends ObservableSource<? extends R>> onNextMapper, Function<Throwable, ? extends ObservableSource<? extends R>> onErrorMapper, 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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <R> Observable<R> |
flatMap(Function<? super T, ? extends ObservableSource<? extends R>> onNextMapper, Function<? super Throwable, ? extends ObservableSource<? extends R>> onErrorMapper, 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.
| ||||||||||
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)
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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final 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.
| ||||||||||
final 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.
| ||||||||||
final <U, V> Observable<V> |
flatMapIterable(Function<? super T, ? extends 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.
| ||||||||||
final <U> Observable<U> |
flatMapIterable(Function<? super T, ? extends 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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final Disposable |
forEach(Consumer<? super T> onNext)
Subscribes to the
ObservableSource and receives notifications for each element. | ||||||||||
final Disposable |
forEachWhile(Predicate<? super T> onNext, Consumer<? super Throwable> onError, Action onComplete)
Subscribes to the
ObservableSource and receives notifications for each element and the terminal events until the
onNext Predicate returns false. | ||||||||||
final Disposable |
forEachWhile(Predicate<? super T> onNext, Consumer<? super Throwable> onError)
Subscribes to the
ObservableSource and receives notifications for each element and error events until the
onNext Predicate returns false. | ||||||||||
final Disposable |
forEachWhile(Predicate<? super T> onNext)
Subscribes to the
ObservableSource and receives notifications for each element 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(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(Future<? extends T> future, Scheduler scheduler) | ||||||||||
static <T> Observable<T> |
fromFuture(Future<? extends T> future, long timeout, TimeUnit unit, Scheduler scheduler)
Converts a
Future into an ObservableSource, with a timeout on the Future. | ||||||||||
static <T> Observable<T> |
fromFuture(Future<? extends T> future, long timeout, TimeUnit unit)
Converts a
Future into an ObservableSource, with a timeout on the Future. | ||||||||||
static <T> Observable<T> |
fromFuture(Future<? extends T> future)
Converts a
Future into an ObservableSource. | ||||||||||
static <T> Observable<T> |
fromIterable(Iterable<? extends T> source)
Converts an
Iterable sequence into an ObservableSource that emits the items in the sequence. | ||||||||||
static <T> Observable<T> |
fromPublisher(Publisher<? extends T> publisher)
Converts an arbitrary Reactive-Streams Publisher into an Observable.
| ||||||||||
static <T, S> Observable<T> |
generate(Callable<S> initialState, BiFunction<S, Emitter<T>, S> generator, Consumer<? super S> disposeState)
Returns a cold, synchronous and stateful generator of values.
| ||||||||||
static <T, S> Observable<T> |
generate(Callable<S> initialState, BiFunction<S, Emitter<T>, S> generator)
Returns a cold, synchronous and stateful generator of values.
| ||||||||||
static <T, S> Observable<T> |
generate(Callable<S> initialState, BiConsumer<S, Emitter<T>> generator)
Returns a cold, synchronous and stateful generator of values.
| ||||||||||
static <T, S> Observable<T> |
generate(Callable<S> initialState, BiConsumer<S, Emitter<T>> 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.
| ||||||||||
final <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. | ||||||||||
final <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. | ||||||||||
final <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. | ||||||||||
final <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. | ||||||||||
final <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. | ||||||||||
final <TRight, TLeftEnd, TRightEnd, R> Observable<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.
| ||||||||||
final Observable<T> |
hide()
Hides the identity of this Observable and its Disposable.
| ||||||||||
final Completable |
ignoreElements()
Ignores all items emitted by the source ObservableSource and only calls
onComplete or onError . | ||||||||||
static Observable<Long> |
interval(long period, TimeUnit unit, Scheduler scheduler)
Returns an Observable that emits a sequential number every specified interval of time, on a
specified Scheduler.
| ||||||||||
static Observable<Long> |
interval(long period, TimeUnit unit)
Returns an Observable that emits a sequential number every specified interval of time.
| ||||||||||
static Observable<Long> |
interval(long initialDelay, long period, 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<Long> |
interval(long initialDelay, long period, TimeUnit unit)
Returns an Observable that emits a
0L after the initialDelay and ever increasing numbers
after each period of time thereafter. | ||||||||||
static Observable<Long> |
intervalRange(long start, long count, long initialDelay, long period, TimeUnit unit, Scheduler scheduler)
Signals a range of long values, the first after some initial delay and the rest periodically after.
| ||||||||||
static Observable<Long> |
intervalRange(long start, long count, long initialDelay, long period, TimeUnit unit)
Signals a range of long values, the first after some initial delay and the rest periodically after.
| ||||||||||
final Single<Boolean> |
isEmpty()
Returns an Observable that emits
true if the source ObservableSource is empty, otherwise false . | ||||||||||
final <TRight, TLeftEnd, TRightEnd, R> Observable<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 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)
Converts two 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 item)
Returns an Observable that emits a single item and then completes.
| ||||||||||
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, 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.
| ||||||||||
static <T> Observable<T> |
just(T item1, T item2, T item3)
Converts three items into an ObservableSource that emits those items.
| ||||||||||
final 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.
| ||||||||||
final Maybe<T> |
lastElement()
Returns a Maybe that emits the last item emitted by this Observable or
completes if this Observable is empty.
| ||||||||||
final 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. | ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final 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(Iterable<? extends ObservableSource<? extends T>> sources)
Flattens an Iterable of ObservableSources into one ObservableSource, without any transformation.
| ||||||||||
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 T> source1, ObservableSource<? extends T> source2)
Flattens two ObservableSources into a single ObservableSource, without any transformation.
| ||||||||||
static <T> Observable<T> |
merge(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(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(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 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, 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(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> |
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> |
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.
| ||||||||||
static <T> Observable<T> |
mergeDelayError(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(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 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(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(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(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.
| ||||||||||
final 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 . | ||||||||||
final 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 bufferSize() "island size" and optionally delays onError notifications. | ||||||||||
final Observable<T> |
observeOn(Scheduler scheduler)
Modifies an ObservableSource to perform its emissions and notifications on a specified
Scheduler ,
asynchronously with an unbounded buffer with bufferSize() "island size". | ||||||||||
final 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. | ||||||||||
final <U> Observable<U> |
ofType(Class<U> clazz)
Filters the items emitted by an ObservableSource, only emitting those of the specified type.
| ||||||||||
final Observable<T> |
onErrorResumeNext(Function<? super Throwable, ? extends ObservableSource<? extends T>> resumeFunction)
Instructs an ObservableSource to pass control to another ObservableSource rather than invoking
onError if it encounters an error. | ||||||||||
final 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. | ||||||||||
final Observable<T> |
onErrorReturn(Function<? super 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. | ||||||||||
final 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. | ||||||||||
final Observable<T> | onExceptionResumeNext(ObservableSource<? extends T> next) | ||||||||||
final Observable<T> |
onTerminateDetach()
Nulls out references to the upstream producer and downstream Observer if
the sequence is terminated or downstream calls dispose().
| ||||||||||
final 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. | ||||||||||
final <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<Integer> |
range(int start, int count)
Returns an Observable that emits a sequence of Integers within a specified range.
| ||||||||||
static Observable<Long> |
rangeLong(long start, long count)
Returns an Observable that emits a sequence of Longs within a specified range.
| ||||||||||
final 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.
| ||||||||||
final <R> Single<R> |
reduce(R seed, 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.
| ||||||||||
final <R> Single<R> |
reduceWith(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 seed value derived from calling a specified seedSupplier, 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.
| ||||||||||
final Observable<T> |
repeat()
Returns an Observable that repeats the sequence of items emitted by the source ObservableSource indefinitely.
| ||||||||||
final Observable<T> |
repeat(long times)
Returns an Observable that repeats the sequence of items emitted by the source ObservableSource at most
count times. | ||||||||||
final 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.
| ||||||||||
final Observable<T> |
repeatWhen(Function<? super Observable<Object>, ? extends ObservableSource<?>> handler)
Returns an Observable that emits the same values as the source ObservableSource with the exception of an
onComplete . | ||||||||||
final <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. | ||||||||||
final <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. | ||||||||||
final <R> Observable<R> |
replay(Function<? super Observable<T>, ? extends ObservableSource<R>> selector, int bufferSize, long time, 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. | ||||||||||
final ConnectableObservable<T> |
replay(int bufferSize, long time, 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. | ||||||||||
final ConnectableObservable<T> |
replay(int bufferSize, long time, 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. | ||||||||||
final 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. | ||||||||||
final 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 . | ||||||||||
final <R> Observable<R> |
replay(Function<? super Observable<T>, ? extends ObservableSource<R>> selector, int bufferSize, long time, 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. | ||||||||||
final ConnectableObservable<T> |
replay(long time, 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. | ||||||||||
final <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. | ||||||||||
final <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. | ||||||||||
final 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 . | ||||||||||
final 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. | ||||||||||
final <R> Observable<R> |
replay(Function<? super Observable<T>, ? extends ObservableSource<R>> selector, long time, 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. | ||||||||||
final <R> Observable<R> |
replay(Function<? super Observable<T>, ? extends ObservableSource<R>> selector, long time, 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. | ||||||||||
final ConnectableObservable<T> |
replay(long time, 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. | ||||||||||
final Observable<T> |
retry()
Returns an Observable that mirrors the source ObservableSource, resubscribing to it if it calls
onError
(infinite retry count). | ||||||||||
final 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. | ||||||||||
final Observable<T> |
retry(long times, Predicate<? super Throwable> predicate)
Retries at most times or until the predicate returns false, whichever happens first.
| ||||||||||
final Observable<T> |
retry(BiPredicate<? super Integer, ? super 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. | ||||||||||
final Observable<T> |
retry(Predicate<? super Throwable> predicate)
Retries the current Observable if the predicate returns true.
| ||||||||||
final Observable<T> |
retryUntil(BooleanSupplier stop)
Retries until the given stop function returns true.
| ||||||||||
final Observable<T> |
retryWhen(Function<? super Observable<Throwable>, ? extends ObservableSource<?>> handler)
Returns an Observable that emits the same values as the source ObservableSource with the exception of an
onError . | ||||||||||
final 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).
| ||||||||||
final Observable<T> |
sample(long period, 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.
| ||||||||||
final Observable<T> |
sample(long period, TimeUnit unit)
Returns an Observable that emits the most recently emitted item (if any) emitted by the source ObservableSource
within periodic time intervals.
| ||||||||||
final <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. | ||||||||||
final Observable<T> |
sample(long period, 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.
| ||||||||||
final Observable<T> |
sample(long period, 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.
| ||||||||||
final <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. | ||||||||||
final <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.
| ||||||||||
final 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.
| ||||||||||
final <R> Observable<R> |
scanWith(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<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.
| ||||||||||
static <T> Single<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<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<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.
| ||||||||||
final Observable<T> |
serialize()
Forces an ObservableSource's emissions and notifications to be serialized and for it to obey
the ObservableSource contract in other ways.
| ||||||||||
final Observable<T> |
share()
Returns a new
ObservableSource that multicasts (shares) the original ObservableSource . | ||||||||||
final 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.
| ||||||||||
final 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. | ||||||||||
final 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. | ||||||||||
final Observable<T> |
skip(long count)
Returns an Observable that skips the first
count items emitted by the source ObservableSource and emits
the remainder. | ||||||||||
final Observable<T> |
skip(long time, 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. | ||||||||||
final Observable<T> |
skip(long time, TimeUnit unit)
Returns an Observable that skips values emitted by the source ObservableSource before a specified time window
elapses.
| ||||||||||
final 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.
| ||||||||||
final Observable<T> |
skipLast(long time, TimeUnit unit)
Returns an Observable that drops items emitted by the source ObservableSource during a specified time window
before the source completes.
| ||||||||||
final Observable<T> |
skipLast(long time, TimeUnit unit, boolean delayError)
Returns an Observable that drops items emitted by the source ObservableSource during a specified time window
before the source completes.
| ||||||||||
final Observable<T> |
skipLast(long time, 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.
| ||||||||||
final Observable<T> |
skipLast(long time, 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.
| ||||||||||
final Observable<T> |
skipLast(long time, 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.
| ||||||||||
final <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.
| ||||||||||
final 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.
| ||||||||||
final Observable<T> |
sorted()
Returns an Observable that emits the events emitted by source ObservableSource, in a
sorted order.
| ||||||||||
final Observable<T> |
sorted(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.
| ||||||||||
final 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. | ||||||||||
final Observable<T> |
startWith(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. | ||||||||||
final Observable<T> |
startWith(T item)
Returns an Observable that emits a specified item before it begins to emit items emitted by the source
ObservableSource.
| ||||||||||
final Observable<T> |
startWithArray(T... items)
Returns an Observable that emits the specified items before it begins to emit items emitted by the source
ObservableSource.
| ||||||||||
final Disposable |
subscribe(Consumer<? super T> onNext, Consumer<? super 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.
| ||||||||||
final void |
subscribe(Observer<? super T> observer)
Subscribes the given Observer to this ObservableSource instance.
| ||||||||||
final Disposable |
subscribe(Consumer<? super T> onNext, Consumer<? super 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.
| ||||||||||
final Disposable |
subscribe()
Subscribes to an ObservableSource and ignores
onNext and onComplete emissions. | ||||||||||
final Disposable |
subscribe(Consumer<? super T> onNext)
Subscribes to an ObservableSource and provides a callback to handle the items it emits.
| ||||||||||
final Disposable |
subscribe(Consumer<? super T> onNext, Consumer<? super Throwable> onError)
Subscribes to an ObservableSource and provides callbacks to handle the items it emits and any error
notification it issues.
| ||||||||||
final Observable<T> |
subscribeOn(Scheduler scheduler)
Asynchronously subscribes Observers to this ObservableSource on the specified
Scheduler . | ||||||||||
final <E extends Observer<? super T>> E |
subscribeWith(E observer)
Subscribes a given Observer (subclass) to this Observable and returns the given
Observer as is.
| ||||||||||
final 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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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, 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> |
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> |
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.
| ||||||||||
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.
| ||||||||||
final Observable<T> |
take(long time, TimeUnit unit)
Returns an Observable that emits those items emitted by source ObservableSource before a specified time runs
out.
| ||||||||||
final Observable<T> |
take(long time, 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.
| ||||||||||
final Observable<T> |
take(long count)
Returns an Observable that emits only the first
count items emitted by the source ObservableSource. | ||||||||||
final Observable<T> |
takeLast(long time, 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.
| ||||||||||
final Observable<T> |
takeLast(long count, long time, 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.
| ||||||||||
final Observable<T> |
takeLast(long time, 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.
| ||||||||||
final Observable<T> |
takeLast(long time, 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.
| ||||||||||
final Observable<T> |
takeLast(int count)
Returns an Observable that emits at most the last
count items emitted by the source ObservableSource. | ||||||||||
final Observable<T> |
takeLast(long time, 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.
| ||||||||||
final Observable<T> |
takeLast(long count, long time, 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.
| ||||||||||
final Observable<T> |
takeLast(long count, long time, 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.
| ||||||||||
final Observable<T> |
takeLast(long time, 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.
| ||||||||||
final 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.
| ||||||||||
final <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.
| ||||||||||
final 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.
| ||||||||||
final TestObserver<T> |
test(boolean dispose)
Creates a TestObserver, optionally disposes it and then subscribes
it to this Observable.
| ||||||||||
final TestObserver<T> |
test()
Creates a TestObserver and subscribes
it to this Observable.
| ||||||||||
final Observable<T> |
throttleFirst(long windowDuration, TimeUnit unit)
Returns an Observable that emits only the first item emitted by the source ObservableSource during sequential
time windows of a specified duration.
| ||||||||||
final Observable<T> |
throttleFirst(long skipDuration, 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.
| ||||||||||
final Observable<T> |
throttleLast(long intervalDuration, 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.
| ||||||||||
final Observable<T> |
throttleLast(long intervalDuration, TimeUnit unit)
Returns an Observable that emits only the last item emitted by the source ObservableSource during sequential
time windows of a specified duration.
| ||||||||||
final Observable<T> |
throttleWithTimeout(long timeout, 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.
| ||||||||||
final Observable<T> |
throttleWithTimeout(long timeout, 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.
| ||||||||||
final 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.
| ||||||||||
final Observable<Timed<T>> |
timeInterval(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.
| ||||||||||
final Observable<Timed<T>> |
timeInterval()
Returns an Observable that emits records of the time interval between consecutive items emitted by the
source ObservableSource.
| ||||||||||
final Observable<Timed<T>> |
timeInterval(TimeUnit unit)
Returns an Observable that emits records of the time interval between consecutive items emitted by the
source ObservableSource.
| ||||||||||
final <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.
| ||||||||||
final Observable<T> |
timeout(long timeout, 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.
| ||||||||||
final <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.
| ||||||||||
final Observable<T> |
timeout(long timeout, TimeUnit timeUnit)
Returns an Observable that mirrors the source ObservableSource but applies a timeout policy for each emitted
item.
| ||||||||||
final Observable<T> |
timeout(long timeout, TimeUnit timeUnit, ObservableSource<? extends T> other)
Returns an Observable that mirrors the source ObservableSource but applies a timeout policy for each emitted
item.
| ||||||||||
final <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. | ||||||||||
final Observable<T> |
timeout(long timeout, 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.
| ||||||||||
final <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. | ||||||||||
static Observable<Long> |
timer(long delay, TimeUnit unit)
Returns an Observable that emits
0L after a specified delay, and then completes. | ||||||||||
static Observable<Long> |
timer(long delay, TimeUnit unit, Scheduler scheduler)
Returns an Observable that emits
0L after a specified delay, on a specified Scheduler, and then
completes. | ||||||||||
final Observable<Timed<T>> |
timestamp(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. | ||||||||||
final Observable<Timed<T>> |
timestamp()
Returns an Observable that emits each item emitted by the source ObservableSource, wrapped in a
Timed object. | ||||||||||
final 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. | ||||||||||
final Observable<Timed<T>> |
timestamp(TimeUnit unit)
Returns an Observable that emits each item emitted by the source ObservableSource, wrapped in a
Timed object. | ||||||||||
final <R> R |
to(Function<? super Observable<T>, R> converter)
Calls the specified converter function during assembly time and returns its resulting value.
| ||||||||||
final Flowable<T> |
toFlowable(BackpressureStrategy strategy)
Converts the current Observable into a Flowable by applying the specified backpressure strategy.
| ||||||||||
final Future<T> |
toFuture()
Returns a
Future representing the single value emitted by this Observable . | ||||||||||
final <U extends Collection<? super T>> Single<U> |
toList(Callable<U> collectionSupplier)
Returns a Single that emits a single item, a list composed of all the items emitted by the
finite source ObservableSource.
| ||||||||||
final Single<List<T>> |
toList()
Returns a Single that emits a single item, a list composed of all the items emitted by the
finite source ObservableSource.
| ||||||||||
final Single<List<T>> |
toList(int capacityHint)
Returns a Single that emits a single item, a list composed of all the items emitted by the
finite source ObservableSource.
| ||||||||||
final <K> Single<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. | ||||||||||
final <K, V> Single<Map<K, V>> |
toMap(Function<? super T, ? extends K> keySelector, Function<? super T, ? extends V> valueSelector, Callable<? extends 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. | ||||||||||
final <K, V> Single<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. | ||||||||||
final <K> Single<Map<K, 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. | ||||||||||
final <K, V> Single<Map<K, Collection<V>>> |
toMultimap(Function<? super T, ? extends K> keySelector, Function<? super T, ? extends V> valueSelector, Callable<Map<K, 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. | ||||||||||
final <K, V> Single<Map<K, 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. | ||||||||||
final <K, V> Single<Map<K, Collection<V>>> |
toMultimap(Function<? super T, ? extends K> keySelector, Function<? super T, ? extends V> valueSelector, Callable<? extends Map<K, Collection<V>>> mapSupplier, Function<? super K, ? extends 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. | ||||||||||
final Single<List<T>> |
toSortedList(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.
| ||||||||||
final Single<List<T>> |
toSortedList(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.
| ||||||||||
final Single<List<T>> |
toSortedList()
Returns a Single that emits a list that contains the items emitted by the source ObservableSource, in a
sorted order.
| ||||||||||
final Single<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.
| ||||||||||
final 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(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. | ||||||||||
static <T, D> Observable<T> |
using(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().
| ||||||||||
final <B> Observable<Observable<T>> |
window(Callable<? extends ObservableSource<B>> boundary)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final Observable<Observable<T>> |
window(long timespan, long timeskip, TimeUnit unit, Scheduler scheduler)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final Observable<Observable<T>> |
window(long timespan, TimeUnit unit, Scheduler scheduler, long count, boolean restart)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final <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.
| ||||||||||
final Observable<Observable<T>> |
window(long timespan, TimeUnit unit, Scheduler scheduler, long count, boolean restart, int bufferSize)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final Observable<Observable<T>> |
window(long timespan, TimeUnit unit, Scheduler scheduler)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final <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.
| ||||||||||
final Observable<Observable<T>> |
window(long timespan, long timeskip, TimeUnit unit, Scheduler scheduler, int bufferSize)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final <B> Observable<Observable<T>> |
window(Callable<? extends ObservableSource<B>> boundary, int bufferSize)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final Observable<Observable<T>> |
window(long count)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final Observable<Observable<T>> |
window(long count, long skip)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final <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.
| ||||||||||
final Observable<Observable<T>> |
window(long timespan, long timeskip, TimeUnit unit)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final <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.
| ||||||||||
final Observable<Observable<T>> |
window(long timespan, TimeUnit unit, long count)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final Observable<Observable<T>> |
window(long timespan, TimeUnit unit, long count, boolean restart)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final Observable<Observable<T>> |
window(long timespan, TimeUnit unit, Scheduler scheduler, long count)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final Observable<Observable<T>> |
window(long timespan, TimeUnit unit)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final Observable<Observable<T>> |
window(long count, long skip, int bufferSize)
Returns an Observable that emits windows of items it collects from the source ObservableSource.
| ||||||||||
final <R> Observable<R> |
withLatestFrom(Iterable<? extends ObservableSource<?>> others, Function<? super 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.
| ||||||||||
final <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.
| ||||||||||
final <T1, T2, T3, T4, R> Observable<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.
| ||||||||||
final <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. | ||||||||||
final <T1, T2, T3, R> Observable<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.
| ||||||||||
final <R> Observable<R> |
withLatestFrom(ObservableSource[]<?> others, Function<? super 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.
| ||||||||||
static <T> Observable<T> |
wrap(ObservableSource<T> source)
Wraps an ObservableSource into an Observable if not already an Observable.
| ||||||||||
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)
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 <T, R> Observable<R> |
zip(ObservableSource<? extends ObservableSource<? extends T>> sources, Function<? super 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, 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> 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)
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, 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 <T, R> Observable<R> |
zip(Iterable<? extends ObservableSource<? extends T>> sources, Function<? super 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 <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)
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, 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, 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)
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, 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)
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, 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)
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> 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)
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 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(Iterable<? extends ObservableSource<? extends T>> sources, Function<? super 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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <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.
| ||||||||||
final <U, R> Observable<R> |
zipWith(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.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract void |
subscribeActual(Observer<? super T> observer)
Operator implementations (both source and intermediate) should implement this method that
performs the necessary business logic.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
Returns an Observable that emits a Boolean that indicates whether all of the items emitted by the source ObservableSource satisfy a condition.
all
does not operate by default on a particular Scheduler
.predicate | a function that evaluates an item and returns a Boolean |
---|
true
if all items emitted by the source ObservableSource satisfy the
predicate; otherwise, false
Mirrors the one ObservableSource in an Iterable of several ObservableSources that first either emits an item or sends a termination notification.
amb
does not operate by default on a particular Scheduler
.sources | an Iterable of ObservableSource sources competing to react first. A subscription to each source will occur in the same order as in the Iterable. |
---|
Mirrors the one ObservableSource in an array of several ObservableSources that first either emits an item or sends a termination notification.
ambArray
does not operate by default on a particular Scheduler
.sources | an array of ObservableSource sources competing to react first. A subscription to each source will occur in the same order as in the array. |
---|
Mirrors the ObservableSource (current or provided) that first either emits an item or sends a termination notification.
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. |
---|
Returns an Observable that emits 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 ObservableSource |
---|
predicate
Returns the first item emitted by this 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 items |
---|
Observable
, or the default value if it emits no
itemsReturns the first item emitted by this Observable
, or throws
NoSuchElementException
if it emits no items.
blockingFirst
does not operate by default on a particular Scheduler
.Observable
NoSuchElementException | if this Observable emits no items |
---|
Invokes a method on each item emitted by this 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 onComplete()
or 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 |
---|
RuntimeException | if an error occurs |
---|
Returns the last item emitted by this Observable
, or throws
NoSuchElementException
if this Observable
emits no items.
blockingLast
does not operate by default on a particular Scheduler
.Observable
NoSuchElementException | if this Observable emits no items |
---|
Returns the last item emitted by this 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 items |
---|
Observable
, or the default value if it emits no
itemsReturns an 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
Returns an 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 item |
---|
Iterable
that on each iteration returns the item that this Observable
has most recently emittedReturns an 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 itemIf 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.
blockingSingle
does not operate by default on a particular Scheduler
.defaultItem | a default value to return if this Observable emits no items |
---|
Observable
, or the default value if it emits no
itemsIf this 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
Subscribes to the source and calls the given callbacks on the current thread.
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 |
---|
Subscribes to the source and calls the Observer methods on the current thread.
blockingSubscribe
does not operate by default on a particular Scheduler
.subscriber | the subscriber to forward events and calls to in the current thread |
---|
Subscribes to the source and calls the given callbacks on the current thread.
blockingSubscribe
does not operate by default on a particular Scheduler
.onNext | the callback action for each source value |
---|---|
onError | the callback action for an error event |
Runs the source observable to a terminal event, ignoring any values and rethrowing any exception.
blockingSubscribe
does not operate by default on a particular Scheduler
.Subscribes to the source and calls the given callbacks on the current thread.
blockingSubscribe
does not operate by default on a particular Scheduler
.onNext | the callback action for each source value |
---|---|
onError | the callback action for an error event |
onComplete | the callback action for the completion event. |
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits buffers that it creates when the specified 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
.openingIndicator | the ObservableSource that, when it emits an item, causes a new buffer to be created |
---|---|
closingIndicator | the Function that is used to produce an ObservableSource for every buffer created. When this
ObservableSource emits an item, the associated buffer is emitted. |
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits buffers that it creates when the specified 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
.openingIndicator | the ObservableSource that, when it emits an item, causes a new buffer to be created |
---|---|
closingIndicator | 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 |
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource starts a new buffer periodically, as determined by the 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 emitted |
---|---|
timeskip | the period of time after which a new buffer will be created |
unit | the unit of time that applies to the timespan and timeskip arguments |
scheduler | the Scheduler to use when determining the end and start of a buffer |
bufferSupplier | a factory function that returns an instance of the collection subclass to be used and returned as the buffer |
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource starts a new buffer periodically, as determined by the 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 emitted |
---|---|
timeskip | the period of time after which a new buffer will be created |
unit | the unit of time that applies to the timespan and timeskip arguments |
scheduler | the Scheduler to use when determining the end and start of a buffer |
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping buffers, 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 number of items in each buffer before it should be emitted |
---|---|
bufferSupplier | a factory function that returns an instance of the collection subclass to be used and returned as the buffer |
count
items from the source ObservableSourceReturns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping buffers. It emits the current buffer and replaces it with a
new buffer whenever the ObservableSource produced by the specified closingIndicator
emits an item.
buffer
does not operate by default on a particular Scheduler
.boundarySupplier | 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 one |
---|---|
bufferSupplier | a factory function that returns an instance of the collection subclass to be used and returned as the buffer |
closingIndicator
argument emits an itemReturns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping buffers, each of a fixed duration specified by the
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 buffer |
---|---|
unit | the unit of time which applies to the timespan argument |
scheduler | the Scheduler to use when determining the end and start of a buffer |
Returns an Observable that emits non-overlapping buffered items from the source ObservableSource each time the specified boundary ObservableSource emits an item.
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
.boundary | the boundary ObservableSource |
---|---|
initialCapacity | the initial capacity of each buffer chunk |
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping buffers, 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 number of items in each buffer before it should be emitted |
---|
count
items from the source ObservableSourceReturns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping buffers. It emits the current buffer and replaces it with a
new buffer whenever the ObservableSource produced by the specified closingIndicator
emits an item.
buffer
does not operate by default on a particular Scheduler
.boundarySupplier | 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 one |
---|
closingIndicator
argument emits an itemReturns an Observable that emits non-overlapping buffered items from the source ObservableSource each time the specified boundary ObservableSource emits an item.
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
.boundary | the boundary ObservableSource |
---|
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource starts a new buffer periodically, as determined by the 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 emitted |
---|---|
timeskip | the period of time after which a new buffer will be created |
unit | the unit of time that applies to the timespan and timeskip arguments |
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping buffers, each of a fixed duration specified by the
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 buffer |
---|---|
unit | the unit of time which applies to the timespan argument |
scheduler | the Scheduler to use when determining the end and start of a buffer |
count | the maximum size of each buffer before it is emitted |
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping buffers, each of a fixed duration 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 emitted and replaced with a new buffer |
---|---|
unit | the unit of time that applies to the timespan argument |
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping buffers, each of a fixed duration specified by the
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 buffer |
---|---|
unit | the unit of time which applies to the timespan argument |
scheduler | the Scheduler to use when determining the end and start of a buffer |
count | the maximum size of each buffer before it is emitted |
bufferSupplier | a factory function that returns an instance of the collection subclass to be used and returned as the buffer |
restartTimerOnMaxSize | if true the time window is restarted when the max capacity of the current buffer is reached |
Returns an Observable that emits non-overlapping buffered items from the source ObservableSource each time the specified boundary ObservableSource emits an item.
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
.boundary | the boundary ObservableSource |
---|---|
bufferSupplier | a factory function that returns an instance of the collection subclass to be used and returned as the buffer |
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits buffers every 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 emitted |
---|---|
skip | 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
itemsReturns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping buffers, each of a fixed duration specified by the
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 buffer |
---|---|
unit | the unit of time which applies to the timespan argument |
count | the maximum size of each buffer before it is emitted |
Returns an Observable that emits buffers of items it collects from the source ObservableSource. The resulting
ObservableSource emits buffers every 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 emitted |
---|---|
skip | 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 buffer |
skip
item from the source ObservableSource and
containing at most count
itemsReturns the default 'island' size or capacity-increment hint for unbounded buffers.
Delegates to bufferSize()
but is public for convenience.
The value can be overridden via system parameter rx2.buffer-size
before the Flowable
class is loaded.
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.
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 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
.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.
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 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 autoConnect()
or similar.
initialCapacity | hint for number of items to cache (for optimizing underlying data structure) |
---|
Returns an Observable that emits the items emitted by the source ObservableSource, converted to the specified type.
cast
does not operate by default on a particular Scheduler
.clazz | the target class type that cast will cast the items emitted by the source ObservableSource
into before emitting them from the resulting ObservableSource |
---|
Collects items emitted by the source ObservableSource into a single mutable data structure and returns a Single that emits this structure.
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
.initialValueSupplier | the mutable data structure that will collect the items |
---|---|
collector | a function that accepts the state and an emitted item, and modifies state
accordingly |
Collects items emitted by the source ObservableSource into a single mutable data structure and returns a Single that emits this structure.
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
.initialValue | the mutable data structure that will collect the items |
---|---|
collector | a function that accepts the state and an emitted item, and modifies state
accordingly |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | the second source ObservableSource |
source3 | the third source ObservableSource |
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | the second source ObservableSource |
source3 | the third source ObservableSource |
source4 | the fourth source ObservableSource |
source5 | the fifth source ObservableSource |
source6 | the sixth source ObservableSource |
source7 | the seventh source ObservableSource |
source8 | the eighth source ObservableSource |
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
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.
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.
If the provided iterable of ObservableSources is empty, the resulting sequence completes immediately without emitting any items and without any calls to the combiner function.
combineLatest
does not operate by default on a particular Scheduler
.sources | the collection of source ObservableSources |
---|---|
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
bufferSize | the internal buffer size and prefetch amount applied to every source Observable |
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.
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.
If the provided iterable of ObservableSources is empty, the resulting sequence completes immediately without emitting any items and without any calls to the combiner function.
combineLatest
does not operate by default on a particular Scheduler
.sources | the collection of source ObservableSources |
---|---|
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | the second source ObservableSource |
source3 | the third source ObservableSource |
source4 | the fourth source ObservableSource |
source5 | the fifth source ObservableSource |
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | the second source ObservableSource |
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | the second source ObservableSource |
source3 | the third source ObservableSource |
source4 | the fourth source ObservableSource |
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
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.
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.
If the provided array of ObservableSources is empty, the resulting sequence completes immediately without emitting any items and without any calls to the combiner function.
combineLatest
does not operate by default on a particular Scheduler
.sources | the collection of source ObservableSources |
---|---|
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | the second source ObservableSource |
source3 | the third source ObservableSource |
source4 | the fourth source ObservableSource |
source5 | the fifth source ObservableSource |
source6 | the sixth source ObservableSource |
source7 | the seventh source ObservableSource |
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
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.
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.
If the provided array of ObservableSources is empty, the resulting sequence completes immediately without emitting any items and without any calls to the combiner function.
combineLatest
does not operate by default on a particular Scheduler
.sources | the collection of source ObservableSources |
---|---|
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
bufferSize | the internal buffer size and prefetch amount applied to every source Observable |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | the second source ObservableSource |
source3 | the third source ObservableSource |
source4 | the fourth source ObservableSource |
source5 | the fifth source ObservableSource |
source6 | the sixth source ObservableSource |
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
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.
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.
If there are no ObservableSources provided, the resulting sequence completes immediately without emitting any items and without any calls to the combiner function.
combineLatest
does not operate by default on a particular Scheduler
.combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
---|---|
bufferSize | the internal buffer size and prefetch amount applied to every source Observable |
sources | the collection of source ObservableSources |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | the second source ObservableSource |
source3 | the third source ObservableSource |
source4 | the fourth source ObservableSource |
source5 | the fifth source ObservableSource |
source6 | the sixth source ObservableSource |
source7 | the seventh source ObservableSource |
source8 | the eighth source ObservableSource |
source9 | the ninth source ObservableSource |
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
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.
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.
If the provided iterable of ObservableSources is empty, the resulting sequence completes immediately without emitting any items and without any calls to the combiner function.
combineLatestDelayError
does not operate by default on a particular Scheduler
.sources | the collection of source ObservableSources |
---|---|
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
bufferSize | the internal buffer size and prefetch amount applied to every source Observable |
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.
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.
If there are no ObservableSources provided, the resulting sequence completes immediately without emitting any items and without any calls to the combiner function.
combineLatestDelayError
does not operate by default on a particular Scheduler
.combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
---|---|
bufferSize | the internal buffer size and prefetch amount applied to every source Observable |
sources | the collection of source ObservableSources |
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.
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.
If the provided iterable of ObservableSources is empty, the resulting sequence completes immediately without emitting any items and without any calls to the combiner function.
combineLatestDelayError
does not operate by default on a particular Scheduler
.sources | the collection of source ObservableSources |
---|---|
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
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.
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.
If the provided array of ObservableSources is empty, the resulting sequence completes immediately without emitting any items and without any calls to the combiner function.
combineLatestDelayError
does not operate by default on a particular Scheduler
.sources | the collection of source ObservableSources |
---|---|
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
bufferSize | the internal buffer size and prefetch amount applied to every source Observable |
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.
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.
If the provided array of ObservableSources is empty, the resulting sequence completes immediately without emitting any items and without any calls to the combiner function.
combineLatestDelayError
does not operate by default on a particular Scheduler
.sources | the collection of source ObservableSources |
---|---|
combiner | the aggregation function used to combine the items emitted by the source ObservableSources |
Transform an ObservableSource by applying a particular Transformer function to it.
This method operates on the ObservableSource itself whereas lift(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(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
.composer | implements the function that transforms the source ObservableSource |
---|
Returns an Observable that emits the items emitted by three ObservableSources, one after the other, without interleaving them.
concat
does not operate by default on a particular Scheduler
.source1 | an ObservableSource to be concatenated |
---|---|
source2 | an ObservableSource to be concatenated |
source3 | an ObservableSource to be concatenated |
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.
concat
does not operate by default on a particular Scheduler
.sources | an ObservableSource that emits ObservableSources |
---|---|
prefetch | the number of ObservableSources to prefetch from the sources sequence. |
ObservableSources
, one after the other, without interleaving themReturns an Observable that emits the items emitted by each of the ObservableSources emitted by the source ObservableSource, one after the other, without interleaving them.
concat
does not operate by default on a particular Scheduler
.sources | an ObservableSource that emits ObservableSources |
---|
ObservableSources
, one after the other, without interleaving themReturns an Observable that emits the items emitted by two ObservableSources, one after the other, without interleaving them.
concat
does not operate by default on a particular Scheduler
.source1 | an ObservableSource to be concatenated |
---|---|
source2 | an ObservableSource to be concatenated |
Concatenates elements of each ObservableSource provided via an Iterable sequence into a single sequence of elements without interleaving them.
concat
does not operate by default on a particular Scheduler
.sources | the Iterable sequence of ObservableSources |
---|
Returns an Observable that emits the items emitted by four ObservableSources, one after the other, without interleaving them.
concat
does not operate by default on a particular Scheduler
.source1 | an ObservableSource to be concatenated |
---|---|
source2 | an ObservableSource to be concatenated |
source3 | an ObservableSource to be concatenated |
source4 | an ObservableSource to be concatenated |
Concatenates a variable number of ObservableSource sources.
Note: named this way because of overload conflict with concat(ObservableSource<ObservableSource>)
concatArray
does not operate by default on a particular Scheduler
.sources | the array of sources |
---|
NullPointerException | if sources is null |
---|
Concatenates a variable number of ObservableSource sources and delays errors from any of them till all terminate.
concatArrayDelayError
does not operate by default on a particular Scheduler
.sources | the array of sources |
---|
NullPointerException | if sources is null |
---|
Concatenates a sequence of ObservableSources eagerly into a single stream of values.
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
.sources | a sequence of ObservableSources that need to be eagerly concatenated |
---|
Concatenates a sequence of ObservableSources eagerly into a single stream of values.
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
.maxConcurrency | the maximum number of concurrent subscriptions at a time, Integer.MAX_VALUE is interpreted as indication to subscribe to all sources at once |
---|---|
prefetch | the number of elements to prefetch from each ObservableSource source |
sources | a sequence of ObservableSources that need to be eagerly concatenated |
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.
concatDelayError
does not operate by default on a particular Scheduler
.sources | the Iterable sequence of ObservableSources |
---|
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.
concatDelayError
does not operate by default on a particular Scheduler
.sources | the ObservableSource sequence of ObservableSources |
---|---|
prefetch | the number of elements to prefetch from the outer ObservableSource |
tillTheEnd | 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 |
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.
concatDelayError
does not operate by default on a particular Scheduler
.sources | the ObservableSource sequence of ObservableSources |
---|
Concatenates an ObservableSource sequence of ObservableSources eagerly into a single stream of values.
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
.sources | a sequence of ObservableSources that need to be eagerly concatenated |
---|---|
maxConcurrency | the maximum number of concurrently running inner ObservableSources; Integer.MAX_VALUE is interpreted as all inner ObservableSources can be active at the same time |
prefetch | the number of elements to prefetch from each inner ObservableSource source |
Concatenates a sequence of ObservableSources eagerly into a single stream of values.
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
.sources | a sequence of ObservableSources that need to be eagerly concatenated |
---|---|
maxConcurrency | the maximum number of concurrently running inner ObservableSources; Integer.MAX_VALUE is interpreted as all inner ObservableSources can be active at the same time |
prefetch | the number of elements to prefetch from each inner ObservableSource source |
Concatenates a sequence of ObservableSources eagerly into a single stream of values.
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
.sources | a sequence of ObservableSources that need to be eagerly concatenated |
---|
Concatenates an ObservableSource sequence of ObservableSources eagerly into a single stream of values.
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
.sources | a sequence of ObservableSources that need to be eagerly concatenated |
---|
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.
concatMap
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns an ObservableSource |
---|---|
prefetch | the number of elements to prefetch from the current Observable |
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.
concatMap
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns an ObservableSource |
---|
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.
concatMapDelayError
does not operate by default on a particular Scheduler
.mapper | the function that maps the items of this ObservableSource into the inner ObservableSources. |
---|
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.
concatMapDelayError
does not operate by default on a particular Scheduler
.mapper | the function that maps the items of this ObservableSource into the inner ObservableSources. |
---|---|
prefetch | the number of elements to prefetch from the current Observable |
tillTheEnd | 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 |
Maps a sequence of values into ObservableSources and concatenates these ObservableSources eagerly into a single ObservableSource.
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
.mapper | the function that maps a sequence of values into a sequence of ObservableSources that will be eagerly concatenated |
---|
Maps a sequence of values into ObservableSources and concatenates these ObservableSources eagerly into a single ObservableSource.
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
.mapper | the function that maps a sequence of values into a sequence of ObservableSources that will be eagerly concatenated |
---|---|
maxConcurrency | the maximum number of concurrent subscribed ObservableSources |
prefetch | hints about the number of expected values from each inner ObservableSource, must be positive |
Maps a sequence of values into ObservableSources and concatenates these ObservableSources eagerly into a single ObservableSource.
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
.mapper | the function that maps a sequence of values into a sequence of ObservableSources that will be eagerly concatenated |
---|---|
tillTheEnd | 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 |
Maps a sequence of values into ObservableSources and concatenates these ObservableSources eagerly into a single ObservableSource.
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
.mapper | the function that maps a sequence of values into a sequence of ObservableSources that will be eagerly concatenated |
---|---|
maxConcurrency | the maximum number of concurrent subscribed ObservableSources |
prefetch | the number of elements to prefetch from each source ObservableSource |
tillTheEnd | 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 |
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.
concatMapIterable
does not operate by default on a particular Scheduler
.mapper | a function that returns an Iterable sequence of values for when given an item emitted by the source ObservableSource |
---|
collectionSelector
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.
concatMapIterable
does not operate by default on a particular Scheduler
.mapper | a function that returns an Iterable sequence of values for when given an item emitted by the source ObservableSource |
---|---|
prefetch | the number of elements to prefetch from the current Observable |
collectionSelector
Returns an Observable that emits the items emitted from the current ObservableSource, then the next, one after the other, without interleaving them.
concatWith
does not operate by default on a particular Scheduler
.other | an ObservableSource to be concatenated after the current |
---|
Returns an Observable that emits a Boolean that indicates whether the source ObservableSource emitted a specified item.
contains
does not operate by default on a particular Scheduler
.element | the item to search for in the emissions from the source ObservableSource |
---|
true
if the specified item is emitted by the source ObservableSource,
or false
if the source ObservableSource completes without emitting that itemReturns a Single that counts the total number of items emitted by the source ObservableSource and emits this count as a 64-bit Long.
count
does not operate by default on a particular Scheduler
.Provides an API (via a cold Observable) that bridges the reactive world with the callback-style world.
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
.source | the emitter that is called when an Observer subscribes to the returned Observable |
---|
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. The timer resets on each emission.
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 dropped |
---|---|
unit | the TimeUnit for the timeout |
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. The timer resets on each emission.
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 dropped |
---|---|
unit | the unit of time for the specified timeout |
scheduler | the Scheduler to use internally to manage the timers that handle the timeout for each
item |
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.
debounce
does not operate by default on a particular Scheduler
.debounceSelector | function to retrieve a sequence that indicates the throttle duration for each item |
---|
Returns an Observable that emits the items emitted by the source ObservableSource or a specified default item if the source ObservableSource is empty.
defaultIfEmpty
does not operate by default on a particular Scheduler
.defaultItem | the item to emit if the source ObservableSource emits no items |
---|
Returns an Observable that calls an ObservableSource factory to create an ObservableSource for each new Observer that subscribes. That is, for each subscriber, the actual ObservableSource that subscriber observes is determined by the factory function.
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
.supplier | the ObservableSource factory function to invoke for each Observer that subscribes to the
resulting ObservableSource |
---|
Observer
s' subscriptions trigger an invocation of the given
ObservableSource factory functionReturns an Observable that emits the items emitted by the source ObservableSource shifted forward in time by a specified delay. Error notifications from the source ObservableSource are not delayed.
delay
operates by default on the computation
Scheduler
.delay | the delay to shift the source by |
---|---|
unit | the TimeUnit in which period is defined |
delayError | if true, the upstream exception is signalled with the given delay, after all preceding normal elements, if false, the upstream exception is signalled immediately |
Returns an Observable that emits the items emitted by the source ObservableSource shifted forward in time by a specified delay. Error notifications from the source ObservableSource are not delayed.
Scheduler
this operator will usedelay | the delay to shift the source by |
---|---|
unit | the time unit of delay |
scheduler | the Scheduler to use for delaying |
Returns an Observable that emits the items emitted by the source ObservableSource shifted forward in time by a specified delay. Error notifications from the source ObservableSource are not delayed.
Scheduler
this operator will usedelay | the delay to shift the source by |
---|---|
unit | the time unit of delay |
scheduler | the Scheduler to use for delaying |
delayError | if true, the upstream exception is signalled with the given delay, after all preceding normal elements, if false, the upstream exception is signalled immediately |
Returns an Observable that delays the emissions of the source ObservableSource via another ObservableSource on a per-item basis.
Note: the resulting ObservableSource will immediately propagate any onError
notification
from the source ObservableSource.
delay
does not operate by default on a particular Scheduler
.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 |
---|
Returns an Observable that delays the subscription to and emissions from the source ObservableSource via another ObservableSource on a per-item basis.
Note: the resulting ObservableSource will immediately propagate any onError
notification
from the source ObservableSource.
delay
does not operate by default on a particular Scheduler
.subscriptionDelay | a function that returns an ObservableSource that triggers the subscription to the source ObservableSource once it emits any item |
---|---|
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 |
Returns an Observable that emits the items emitted by the source ObservableSource shifted forward in time by a specified delay. Error notifications from the source ObservableSource are not delayed.
delay
operates by default on the computation
Scheduler
.delay | the delay to shift the source by |
---|---|
unit | the TimeUnit in which period is defined |
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.
Scheduler
this operator will usedelay | the time to delay the subscription |
---|---|
unit | the time unit of delay |
scheduler | the Scheduler on which the waiting and subscription will happen |
Returns an Observable that delays the subscription to the source ObservableSource by a given amount of time.
delaySubscription
operates by default on the computation
Scheduler
.delay | the time to delay the subscription |
---|---|
unit | the time unit of delay |
Returns an Observable that delays the subscription to this Observable until the other Observable emits an element or completes normally.
Scheduler
.other | the other Observable that should trigger the subscription to this Observable. |
---|
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.
dematerialize
does not operate by default on a particular Scheduler
.Notification
objects
emitted by the source ObservableSourceReturns an Observable that emits all items emitted by the source ObservableSource that are distinct.
distinct
does not operate by default on a particular Scheduler
.Returns an Observable that emits all items emitted by the source ObservableSource that are distinct according to a key selector function.
distinct
does not operate by default on a particular Scheduler
.keySelector | 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 |
---|
Returns an Observable that emits all items emitted by the source ObservableSource that are distinct according to a key selector function.
distinct
does not operate by default on a particular Scheduler
.keySelector | 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 |
---|---|
collectionSupplier | function called for each individual Observer to return a Collection subtype for holding the extracted keys and whose add() method's return indicates uniqueness. |
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.
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. |
---|
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.
distinctUntilChanged
does not operate by default on a particular Scheduler
.keySelector | 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 |
---|
Returns an Observable that emits all items emitted by the source ObservableSource that are distinct from their immediate predecessors.
distinctUntilChanged
does not operate by default on a particular Scheduler
.Calls the specified consumer with the current item after this item has been emitted to the downstream.
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
.History: 2.0.1 - experimental
onAfterNext | the Consumer that will be called after emitting an item from upstream to the downstream |
---|
Registers an 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 finishes |
---|
Action
Calls the specified action after this Observable signals onError or onCompleted or gets disposed by the downstream.
In case of a race between a terminal event and a dispose call, the provided onFinally
action
is executed once per subscription.
Note that the onFinally
action is shared between subscriptions and as such
should be thread-safe.
doFinally
does not operate by default on a particular Scheduler
.History: 2.0.1 - experimental
onFinally | the action called when this Observable terminates or gets cancelled |
---|
Modifies the source ObservableSource so that it invokes an action when it calls onComplete
.
doOnComplete
does not operate by default on a particular Scheduler
.onComplete | the action to invoke when the source ObservableSource calls onComplete |
---|
Calls the dispose 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.
doOnDispose
does not operate by default on a particular Scheduler
.onDispose | the action that gets called when the source ObservableSource 's Disposable is disposed |
---|
ObservableSource
modified so as to call this Action when appropriateNullPointerException | if onDispose is null |
---|
Modifies the source ObservableSource so that it notifies an Observer for each item and terminal event it emits.
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. |
---|
Modifies the source ObservableSource so that it invokes an action for each item it emits.
doOnEach
does not operate by default on a particular Scheduler
.onNotification | the action to invoke for each item emitted by the source ObservableSource |
---|
Modifies the source ObservableSource so that it invokes an action if it calls onError
.
In case the onError
action throws, the downstream will receive a composite exception containing
the original exception and the exception thrown by onError
.
doOnError
does not operate by default on a particular Scheduler
.onError | the action to invoke if the source ObservableSource calls onError |
---|
Calls the appropriate onXXX method (shared between all Observer) for the lifecycle events of the sequence (subscription, cancellation, requesting).
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() |
Modifies the source ObservableSource so that it invokes an action when it calls onNext
.
doOnNext
does not operate by default on a particular Scheduler
.onNext | the action to invoke when the source ObservableSource calls onNext |
---|
Modifies the source 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 appropriateModifies the source ObservableSource so that it invokes an action when it calls 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 |
---|
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.
elementAt
does not operate by default on a particular Scheduler
.index | the zero-based index of the item to retrieve |
---|---|
defaultItem | the default item |
IndexOutOfBoundsException | if index is less than 0 |
---|
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.
elementAt
does not operate by default on a particular Scheduler
.index | the zero-based index of the item to retrieve |
---|
IndexOutOfBoundsException | if index is less than 0 |
---|
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.
elementAtOrError
does not operate by default on a particular Scheduler
.index | the zero-based index of the item to retrieve |
---|
IndexOutOfBoundsException | if index is less than 0 |
---|
Returns an Observable that emits no items to the Observer
and immediately invokes its
onComplete
method.
empty
does not operate by default on a particular Scheduler
.Observer
but immediately invokes the
Observer
's onComplete
methodFilters items emitted by an ObservableSource by only emitting those that satisfy a specified 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 filter |
---|
true
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.
first
does not operate by default on a particular Scheduler
.defaultItem | the default item to emit if the source ObservableSource doesn't emit anything |
---|
Returns a Maybe that emits only the very first item emitted by the source ObservableSource, or completes if the source ObservableSource is empty.
firstElement
does not operate by default on a particular Scheduler
.Returns a Single that emits only the very first item emitted by this Observable or
signals a NoSuchElementException
if this Observable is empty.
firstOrError
does not operate by default on a particular Scheduler
.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.
flatMap
does not operate by default on a particular Scheduler
.mapper | a function that returns an ObservableSource for each item emitted by the source ObservableSource |
---|---|
combiner | 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 |
delayErrors | 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 |
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
bufferSize | the number of elements to prefetch from the inner ObservableSources. |
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.
flatMap
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns an ObservableSource |
---|
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.
flatMap
does not operate by default on a particular Scheduler
.onNextMapper | a function that returns an ObservableSource to merge for each item emitted by the source ObservableSource |
---|---|
onErrorMapper | a function that returns an ObservableSource to merge for an onError notification from the source ObservableSource |
onCompleteSupplier | a function that returns an ObservableSource to merge for an onComplete notification from the source ObservableSource |
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
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.
flatMap
does not operate by default on a particular Scheduler
.mapper | a function that returns an ObservableSource for each item emitted by the source ObservableSource |
---|---|
combiner | 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 |
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
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.
flatMap
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns an ObservableSource |
---|---|
delayErrors | 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 |
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.
flatMap
does not operate by default on a particular Scheduler
.mapper | a function that returns an ObservableSource for each item emitted by the source ObservableSource |
---|---|
combiner | 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 |
delayErrors | 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 |
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.
flatMap
does not operate by default on a particular Scheduler
.onNextMapper | a function that returns an ObservableSource to merge for each item emitted by the source ObservableSource |
---|---|
onErrorMapper | a function that returns an ObservableSource to merge for an onError notification from the source ObservableSource |
onCompleteSupplier | a function that returns an ObservableSource to merge for an onComplete notification from the source ObservableSource |
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.
flatMap
does not operate by default on a particular Scheduler
.mapper | a function that returns an ObservableSource for each item emitted by the source ObservableSource |
---|---|
combiner | 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 |
delayErrors | 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 |
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
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.
flatMap
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns an ObservableSource |
---|---|
delayErrors | 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 |
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
bufferSize | the number of elements to prefetch from each inner ObservableSource |
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.
flatMap
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns an ObservableSource |
---|---|
delayErrors | 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 |
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
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.
flatMap
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns an ObservableSource |
---|---|
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
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.
flatMap
does not operate by default on a particular Scheduler
.mapper | a function that returns an ObservableSource for each item emitted by the source ObservableSource |
---|---|
resultSelector | 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 |
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.
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. |
Maps each element of the upstream Observable into CompletableSources, subscribes to them and waits until the upstream and all CompletableSources complete.
flatMapCompletable
does not operate by default on a particular Scheduler
.mapper | the function that received each source value and transforms them into CompletableSources. |
---|
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.
flatMapIterable
does not operate by default on a particular Scheduler
.mapper | a function that returns an Iterable sequence of values for each item emitted by the source ObservableSource |
---|---|
resultSelector | 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
ObservableSourceReturns 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.
flatMapIterable
does not operate by default on a particular Scheduler
.mapper | a function that returns an Iterable sequence of values for when given an item emitted by the source ObservableSource |
---|
collectionSelector
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.
flatMapMaybe
does not operate by default on a particular Scheduler
.mapper | 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. |
Maps each element of the upstream Observable into MaybeSources, subscribes to them and waits until the upstream and all MaybeSources complete.
flatMapMaybe
does not operate by default on a particular Scheduler
.mapper | the function that received each source value and transforms them into MaybeSources. |
---|
Maps each element of the upstream Observable into SingleSources, subscribes to them and waits until the upstream and all SingleSources complete.
flatMapSingle
does not operate by default on a particular Scheduler
.mapper | the function that received each source value and transforms them into SingleSources. |
---|
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.
flatMapSingle
does not operate by default on a particular Scheduler
.mapper | 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. |
Subscribes to the 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. |
---|
NullPointerException | if onNext is null |
---|
Subscribes to the 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. |
NullPointerException | if onNext is null, or
if onError is null, or
if onComplete is null |
---|
Subscribes to the 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. |
NullPointerException | if onNext is null, or
if onError is null |
---|
Subscribes to the 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. |
---|
NullPointerException | if onNext is null |
---|
Converts an Array into an ObservableSource that emits the items in the Array.
fromArray
does not operate by default on a particular Scheduler
.items | the array of elements |
---|
Returns an Observable that, when an observer subscribes to it, invokes a function you specify and then emits the value returned from that function.
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
.supplier | a function, the execution of which should be deferred; fromCallable will invoke this
function only when an observer subscribes to the ObservableSource that fromCallable returns |
---|
Observer
s' subscriptions trigger an invocation of the given functionConverts a 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 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 usefuture | the source Future |
---|---|
scheduler | the Scheduler to wait for the Future on. Use a Scheduler such as
io() that can block and wait on the Future |
Future
Converts a 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 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
.future | the source Future |
---|---|
timeout | the maximum time to wait before calling get |
unit | the TimeUnit of the timeout argument |
scheduler | the Scheduler to wait for the Future on. Use a Scheduler such as
io() that can block and wait on the Future |
Future
Converts a 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 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
.future | the source Future |
---|---|
timeout | the maximum time to wait before calling get |
unit | the TimeUnit of the timeout argument |
Future
Converts a Future
into an ObservableSource.
You can convert any object that supports the Future
interface into an ObservableSource that emits the
return value of the 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
.future | the source Future |
---|
Future
Converts an arbitrary Reactive-Streams Publisher into an Observable.
publisher
is consumed in an unbounded fashion without applying any
backpressure to it.fromPublisher
does not operate by default on a particular Scheduler
.publisher | the Publisher to convert |
---|
NullPointerException | if publisher is null |
---|
Returns a cold, synchronous and stateful generator of values.
generate
does not operate by default on a particular Scheduler
.initialState | the Callable to generate the initial state for each Observer |
---|---|
generator | 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 |
Returns a cold, synchronous and stateful generator of values.
generate
does not operate by default on a particular Scheduler
.initialState | the Callable to generate the initial state for each Observer |
---|---|
generator | 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 . |
Returns a cold, synchronous and stateful generator of values.
generate
does not operate by default on a particular Scheduler
.initialState | the Callable to generate the initial state for each Observer |
---|---|
generator | 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 . |
Returns a cold, synchronous and stateful generator of values.
generate
does not operate by default on a particular Scheduler
.initialState | the Callable to generate the initial state for each Observer |
---|---|
generator | 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 |
Returns a cold, synchronous and stateless generator of values.
generate
does not operate by default on a particular Scheduler
.generator | 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 . |
---|
Groups the items emitted by an 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
.keySelector | a function that extracts the key for each item |
---|---|
delayError | 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 valueGroups the items emitted by an 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
.keySelector | a function that extracts the key for each item |
---|
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 valueGroups the items emitted by an 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
.keySelector | a function that extracts the key for each item |
---|---|
valueSelector | a function that extracts the return element for each item |
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 valueGroups the items emitted by an 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
.keySelector | a function that extracts the key for each item |
---|---|
valueSelector | a function that extracts the return element for each item |
delayError | 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 valueGroups the items emitted by an 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
.keySelector | a function that extracts the key for each item |
---|---|
valueSelector | a function that extracts the return element for each item |
delayError | 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. |
bufferSize | the hint for how many GroupedObservable s and element in each GroupedObservable should be buffered |
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 valueReturns an Observable that correlates two ObservableSources when they overlap in time and groups the results.
There are no guarantees in what order the items get combined when multiple items from one or both source ObservableSources overlap.
groupJoin
does not operate by default on a particular Scheduler
.other | the other ObservableSource to correlate items from the source ObservableSource with |
---|---|
leftEnd | a function that returns an ObservableSource whose emissions indicate the duration of the values of the source ObservableSource |
rightEnd | a function that returns an ObservableSource whose emissions indicate the duration of the values of
the right ObservableSource |
resultSelector | a function that takes an item emitted by each ObservableSource and returns the value to be emitted by the resulting ObservableSource |
Ignores all items emitted by the source ObservableSource and only calls onComplete
or onError
.
ignoreElements
does not operate by default on a particular Scheduler
.Returns an Observable that emits a sequential number every specified interval of time, on a specified Scheduler.
Scheduler
this operator will useperiod | the period size in time units (see below) |
---|---|
unit | time units to use for the interval size |
scheduler | the Scheduler to use for scheduling the items |
Returns an Observable that emits a sequential number every specified interval of time.
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 |
Returns an Observable that emits a 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 0L |
---|---|
period | the period of time between emissions of the subsequent numbers |
unit | the time unit for both initialDelay and period |
scheduler | the Scheduler on which the waiting happens and items are emitted |
initialDelay
and ever increasing numbers after
each period
of time thereafter, while running on the given SchedulerReturns an Observable that emits a 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 0L |
---|---|
period | the period of time between emissions of the subsequent numbers |
unit | the time unit for both initialDelay and period |
initialDelay
and ever increasing numbers after
each period
of time thereafterSignals a range of long values, the first after some initial delay and the rest periodically after.
The sequence completes immediately after the last value (start + count - 1) has been reached.
*
Scheduler
.start | that start value of the range |
---|---|
count | 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 values |
unit | the unit of measure of the initialDelay and period amounts |
scheduler | the target scheduler where the values and terminal signals will be emitted |
Signals a range of long values, the first after some initial delay and the rest periodically after.
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 range |
---|---|
count | 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 values |
unit | the unit of measure of the initialDelay and period amounts |
Returns an Observable that emits true
if the source ObservableSource is empty, otherwise false
.
In Rx.Net this is negated as the any
Observer but we renamed this in RxJava to better match Java
naming idioms.
isEmpty
does not operate by default on a particular Scheduler
.Correlates the items emitted by two ObservableSources based on overlapping durations.
There are no guarantees in what order the items get combined when multiple items from one or both source ObservableSources overlap.
join
does not operate by default on a particular Scheduler
.other | the second ObservableSource to join items from |
---|---|
leftEnd | a function to select a duration for each item emitted by the source ObservableSource, used to determine overlap |
rightEnd | a function to select a duration for each item emitted by the right ObservableSource, used to
determine overlap |
resultSelector | a function that computes an item to be emitted by the resulting ObservableSource for any two overlapping items emitted by the two ObservableSources |
Converts six items into an ObservableSource that emits those items.
just
does not operate by default on a particular Scheduler
.item1 | first item |
---|---|
item2 | second item |
item3 | third item |
item4 | fourth item |
item5 | fifth item |
item6 | sixth item |
Converts two items into an ObservableSource that emits those items.
just
does not operate by default on a particular Scheduler
.item1 | first item |
---|---|
item2 | second item |
Converts four items into an ObservableSource that emits those items.
just
does not operate by default on a particular Scheduler
.item1 | first item |
---|---|
item2 | second item |
item3 | third item |
item4 | fourth item |
Returns an Observable that emits a single item and then completes.
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
.item | the item to emit |
---|
value
as a single item and then completesConverts five items into an ObservableSource that emits those items.
just
does not operate by default on a particular Scheduler
.item1 | first item |
---|---|
item2 | second item |
item3 | third item |
item4 | fourth item |
item5 | fifth item |
Converts seven items into an ObservableSource that emits those items.
just
does not operate by default on a particular Scheduler
.item1 | first item |
---|---|
item2 | second item |
item3 | third item |
item4 | fourth item |
item5 | fifth item |
item6 | sixth item |
item7 | seventh item |
Converts eight items into an ObservableSource that emits those items.
just
does not operate by default on a particular Scheduler
.item1 | first item |
---|---|
item2 | second item |
item3 | third item |
item4 | fourth item |
item5 | fifth item |
item6 | sixth item |
item7 | seventh item |
item8 | eighth item |
Converts nine items into an ObservableSource that emits those items.
just
does not operate by default on a particular Scheduler
.item1 | first item |
---|---|
item2 | second item |
item3 | third item |
item4 | fourth item |
item5 | fifth item |
item6 | sixth item |
item7 | seventh item |
item8 | eighth item |
item9 | ninth item |
Converts ten items into an ObservableSource that emits those items.
just
does not operate by default on a particular Scheduler
.item1 | first item |
---|---|
item2 | second item |
item3 | third item |
item4 | fourth item |
item5 | fifth item |
item6 | sixth item |
item7 | seventh item |
item8 | eighth item |
item9 | ninth item |
item10 | tenth item |
Converts three items into an ObservableSource that emits those items.
just
does not operate by default on a particular Scheduler
.item1 | first item |
---|---|
item2 | second item |
item3 | third item |
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.
last
does not operate by default on a particular Scheduler
.defaultItem | the default item to emit if the source ObservableSource is empty |
---|
Returns a Maybe that emits the last item emitted by this Observable or completes if this Observable is empty.
lastElement
does not operate by default on a particular Scheduler
.Returns a Single that emits only the last item emitted by this Observable or
signals a NoSuchElementException
if this Observable is empty.
lastOrError
does not operate by default on a particular Scheduler
.NoSuchElementException
will be thrown.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.
In other words, this allows chaining Observers together on an ObservableSource for acting on the values within the ObservableSource.
ObservableSource.map(...).filter(...).take(5).lift(new OperatorA()).lift(new OperatorB(...)).subscribe()
If the operator you are creating is designed to act on the individual items emitted by a source
ObservableSource, use lift
. 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(ObservableTransformer super T, ? extends R>)
.
lift
does not operate by default on a particular Scheduler
.lifter | the Operator that implements the ObservableSource-operating function to be applied to the source ObservableSource |
---|
Returns an Observable that applies a specified function to each item emitted by the source ObservableSource and emits the results of these function applications.
map
does not operate by default on a particular Scheduler
.mapper | a function to apply to each item emitted by the ObservableSource |
---|
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.
materialize
does not operate by default on a particular Scheduler
.Flattens an Iterable of ObservableSources into one ObservableSource, without any transformation.
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
.sources | the Iterable of ObservableSources |
---|
Flattens an ObservableSource that emits ObservableSources into a single ObservableSource that emits the items emitted by those ObservableSources, without any transformation.
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
.sources | an ObservableSource that emits ObservableSources |
---|
source
ObservableSourceFlattens two ObservableSources into a single ObservableSource, without any transformation.
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
.source1 | an ObservableSource to be merged |
---|---|
source2 | an ObservableSource to be merged |
Flattens an Iterable of ObservableSources into one ObservableSource, without any transformation, while limiting the number of concurrent subscriptions to these ObservableSources.
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
.sources | the Iterable of ObservableSources |
---|---|
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
bufferSize | the number of items to prefetch from each inner ObservableSource |
IllegalArgumentException | if maxConcurrent is less than or equal to 0 |
---|
Flattens an Iterable of ObservableSources into one ObservableSource, without any transformation, while limiting the number of concurrent subscriptions to these ObservableSources.
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
.sources | the Iterable of ObservableSources |
---|---|
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
IllegalArgumentException | if maxConcurrent is less than or equal to 0 |
---|
Flattens three ObservableSources into a single ObservableSource, without any transformation.
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
.source1 | an ObservableSource to be merged |
---|---|
source2 | an ObservableSource to be merged |
source3 | an ObservableSource to be merged |
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.
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
.sources | an ObservableSource that emits ObservableSources |
---|---|
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
source
ObservableSourceIllegalArgumentException | if maxConcurrent is less than or equal to 0 |
---|
Flattens four ObservableSources into a single ObservableSource, without any transformation.
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
.source1 | an ObservableSource to be merged |
---|---|
source2 | an ObservableSource to be merged |
source3 | an ObservableSource to be merged |
source4 | an ObservableSource to be merged |
Flattens an Iterable of ObservableSources into one ObservableSource, without any transformation, while limiting the number of concurrent subscriptions to these ObservableSources.
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
.maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
---|---|
bufferSize | the number of items to prefetch from each inner ObservableSource |
sources | the array of ObservableSources |
IllegalArgumentException | if maxConcurrent is less than or equal to 0 |
---|
Flattens an Array of ObservableSources into one ObservableSource, without any transformation.
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
.sources | the array of ObservableSources |
---|
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.
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
.sources | the Iterable of ObservableSources |
---|
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.
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
.maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
---|---|
bufferSize | the number of items to prefetch from each inner ObservableSource |
sources | the array of ObservableSources |
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.
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
.source1 | an ObservableSource to be merged |
---|---|
source2 | an ObservableSource to be merged |
source3 | an ObservableSource to be merged |
source4 | an ObservableSource to be merged |
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.
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
.sources | the Iterable of ObservableSources |
---|
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.
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
.source1 | an ObservableSource to be merged |
---|---|
source2 | an ObservableSource to be merged |
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.
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
.source1 | an ObservableSource to be merged |
---|---|
source2 | an ObservableSource to be merged |
source3 | an ObservableSource to be merged |
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.
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
.sources | an ObservableSource that emits ObservableSources |
---|
source
ObservableSourceFlattens 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.
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
.sources | the Iterable of ObservableSources |
---|---|
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
bufferSize | the number of items to prefetch from each inner ObservableSource |
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.
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
.sources | the Iterable of ObservableSources |
---|---|
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
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.
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
.sources | an ObservableSource that emits ObservableSources |
---|---|
maxConcurrency | the maximum number of ObservableSources that may be subscribed to concurrently |
source
ObservableSourceFlattens this and another ObservableSource into a single ObservableSource, without any transformation.
You can combine items emitted by multiple ObservableSources so that they appear as a single ObservableSource, by
using the mergeWith
method.
mergeWith
does not operate by default on a particular Scheduler
.other | an ObservableSource to be merged |
---|
Returns an Observable that never sends any items or notifications to an Observer
.
This ObservableSource is useful primarily for testing purposes.
never
does not operate by default on a particular Scheduler
.Observer
Modifies an ObservableSource to perform its emissions and notifications on a specified Scheduler
,
asynchronously with an unbounded buffer with bufferSize()
"island size" and optionally delays onError notifications.
Scheduler
this operator will use"Island size" indicates how large chunks the unbounded buffer allocates to store the excess elements waiting to be consumed on the other side of the asynchronous boundary.
scheduler | the Scheduler to notify Observer s on |
---|---|
delayError | indicates if the onError notification may not cut ahead of onNext notification on the other side of the scheduling boundary. If true a sequence ending in onError will be replayed in the same order as was received from upstream |
Modifies an ObservableSource to perform its emissions and notifications on a specified Scheduler
,
asynchronously with an unbounded buffer with bufferSize()
"island size".
Note that onError notifications will cut ahead of onNext notifications on the emission thread if Scheduler is truly
asynchronous. If strict event ordering is required, consider using the observeOn(Scheduler, boolean)
overload.
Scheduler
this operator will use"Island size" indicates how large chunks the unbounded buffer allocates to store the excess elements waiting to be consumed on the other side of the asynchronous boundary.
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.
Scheduler
this operator will use"Island size" indicates how large chunks the unbounded buffer allocates to store the excess elements waiting to be consumed on the other side of the asynchronous boundary. Values below 16 are not recommended in performance sensitive scenarios.
scheduler | the Scheduler to notify Observer s on |
---|---|
delayError | indicates if the onError notification may not cut ahead of onNext notification on the other side of the scheduling boundary. If true a sequence ending in onError will be replayed in the same order as was received from upstream |
bufferSize | the size of the buffer. |
Filters the items emitted by an ObservableSource, only emitting those of the specified type.
ofType
does not operate by default on a particular Scheduler
.clazz | the class type to filter the items emitted by the source ObservableSource |
---|
clazz
Instructs an ObservableSource to pass control to another ObservableSource rather than invoking
onError
if it encounters an error.
By default, when an ObservableSource encounters an error that prevents it from emitting the expected item to
its Observer
, the ObservableSource invokes its Observer's onError
method, and then quits
without invoking any more of its Observer's methods. The onErrorResumeNext
method changes this
behavior. If you pass a function that returns an ObservableSource (resumeFunction
) to
onErrorResumeNext
, if the original ObservableSource encounters an error, instead of invoking its
Observer's onError
method, it will instead relinquish control to the ObservableSource returned from
resumeFunction
, which will invoke the Observer's onNext
method if it is
able to do so. In such a case, because no ObservableSource necessarily invokes onError
, the Observer
may never know that an error happened.
You can use this to prevent errors from propagating or to supply fallback data should errors be encountered.
onErrorResumeNext
does not operate by default on a particular Scheduler
.resumeFunction | a function that returns an ObservableSource that will take over if the source ObservableSource encounters an error |
---|
Instructs an ObservableSource to pass control to another ObservableSource rather than invoking
onError
if it encounters an error.
By default, when an ObservableSource encounters an error that prevents it from emitting the expected item to
its Observer
, the ObservableSource invokes its Observer's onError
method, and then quits
without invoking any more of its Observer's methods. The onErrorResumeNext
method changes this
behavior. If you pass another ObservableSource (resumeSequence
) to an ObservableSource's
onErrorResumeNext
method, if the original ObservableSource encounters an error, instead of invoking its
Observer's onError
method, it will instead relinquish control to resumeSequence
which
will invoke the Observer's onNext
method if it is able to do so. In such a case,
because no ObservableSource necessarily invokes onError
, the Observer may never know that an error
happened.
You can use this to prevent errors from propagating or to supply fallback data should errors be encountered.
onErrorResumeNext
does not operate by default on a particular Scheduler
.next | the next ObservableSource source that will take over if the source ObservableSource encounters an error |
---|
Instructs an ObservableSource to emit an item (returned by a specified function) rather than invoking
onError
if it encounters an error.
By default, when an ObservableSource encounters an error that prevents it from emitting the expected item to
its Observer
, the ObservableSource invokes its Observer's onError
method, and then quits
without invoking any more of its Observer's methods. The onErrorReturn
method changes this
behavior. If you pass a function (resumeFunction
) to an ObservableSource's onErrorReturn
method, if the original ObservableSource encounters an error, instead of invoking its Observer's
onError
method, it will instead emit the return value of resumeFunction
.
You can use this to prevent errors from propagating or to supply fallback data should errors be encountered.
onErrorReturn
does not operate by default on a particular Scheduler
.valueSupplier | a function that returns a single value that will be emitted along with a regular onComplete in case the current Observable signals an onError event |
---|
Instructs an ObservableSource to emit an item (returned by a specified function) rather than invoking
onError
if it encounters an error.
By default, when an ObservableSource encounters an error that prevents it from emitting the expected item to
its Observer
, the ObservableSource invokes its Observer's onError
method, and then quits
without invoking any more of its Observer's methods. The onErrorReturn
method changes this
behavior. If you pass a function (resumeFunction
) to an ObservableSource's onErrorReturn
method, if the original ObservableSource encounters an error, instead of invoking its Observer's
onError
method, it will instead emit the return value of resumeFunction
.
You can use this to prevent errors from propagating or to supply fallback data should errors be encountered.
onErrorReturnItem
does not operate by default on a particular Scheduler
.item | the value that is emitted along with a regular onComplete in case the current Observable signals an exception |
---|
Instructs an ObservableSource to pass control to another ObservableSource rather than invoking
onError
if it encounters an Exception
.
This differs from onErrorResumeNext(ObservableSource extends T>)
in that this one does not handle Throwable
or java.lang.Error but lets those continue through.
By default, when an ObservableSource encounters an exception that prevents it from emitting the expected item
to its Observer
, the ObservableSource invokes its Observer's onError
method, and then quits
without invoking any more of its Observer's methods. The onExceptionResumeNext
method changes
this behavior. If you pass another ObservableSource (resumeSequence
) to an ObservableSource's
onExceptionResumeNext
method, if the original ObservableSource encounters an exception, instead of
invoking its Observer's onError
method, it will instead relinquish control to
resumeSequence
which will invoke the Observer's onNext
method if it is
able to do so. In such a case, because no ObservableSource necessarily invokes onError
, the Observer
may never know that an exception happened.
You can use this to prevent exceptions from propagating or to supply fallback data should exceptions be encountered.
onExceptionResumeNext
does not operate by default on a particular Scheduler
.next | the next ObservableSource that will take over if the source ObservableSource encounters an exception |
---|
Nulls out references to the upstream producer and downstream Observer if the sequence is terminated or downstream calls dispose().
onTerminateDetach
does not operate by default on a particular Scheduler
.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.
publish
does not operate by default on a particular Scheduler
.ConnectableObservable
that upon connection causes the source ObservableSource to emit items
to its Observer
sReturns 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.
publish
does not operate by default on a particular Scheduler
.selector | a function that can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Observers to the given source will receive all notifications of the source from the time of the subscription forward. |
---|
ConnectableObservable
that shares a single subscription to the underlying sequenceReturns an Observable that emits a sequence of Integers within a specified range.
range
does not operate by default on a particular Scheduler
.start | the value of the first Integer in the sequence |
---|---|
count | the number of sequential Integers to generate |
IllegalArgumentException | if count is less than zero, or if start + count − 1 exceeds
Integer.MAX_VALUE |
---|
Returns an Observable that emits a sequence of Longs within a specified range.
rangeLong
does not operate by default on a particular Scheduler
.start | the value of the first Long in the sequence |
---|---|
count | the number of sequential Longs to generate |
IllegalArgumentException | if count is less than zero, or if start + count − 1 exceeds
Long.MAX_VALUE |
---|
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.
This technique, which is called "reduce" here, is sometimes called "aggregate," "fold," "accumulate,"
"compress," or "inject" in other programming contexts. Groovy, for instance, has an inject
method
that does a similar operation on lists.
reduce
does not operate by default on a particular Scheduler
.reducer | an accumulator function to be invoked on each item emitted by the source ObservableSource, whose result will be used in the next accumulator call |
---|
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.
This technique, which is called "reduce" here, is sometimes called "aggregate," "fold," "accumulate,"
"compress," or "inject" in other programming contexts. Groovy, for instance, has an inject
method
that does a similar operation on lists.
Note that the seed
is shared among all subscribers to the resulting ObservableSource
and may cause problems if it is mutable. To make sure each subscriber gets its own value, defer
the application of this operator via defer(Callable)
:
ObservableSource<T> source = ...
Single.defer(() -> source.reduce(new ArrayList<>(), (list, item) -> list.add(item)));
// alternatively, by using compose to stay fluent
source.compose(o ->
Observable.defer(() -> o.reduce(new ArrayList<>(), (list, item) -> list.add(item)).toObservable())
).firstOrError();
// or, by using reduceWith instead of reduce
source.reduceWith(() -> new ArrayList<>(), (list, item) -> list.add(item)));
reduce
does not operate by default on a particular Scheduler
.seed | the initial (seed) accumulator value |
---|---|
reducer | an accumulator function to be invoked on each item emitted by the source ObservableSource, the result of which will be used in the next accumulator call |
Returns a Single that applies a specified accumulator function to the first item emitted by a source ObservableSource and a seed value derived from calling a specified seedSupplier, 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.
This technique, which is called "reduce" here, is sometimes called "aggregate," "fold," "accumulate,"
"compress," or "inject" in other programming contexts. Groovy, for instance, has an inject
method
that does a similar operation on lists.
reduceWith
does not operate by default on a particular Scheduler
.seedSupplier | the Callable that provides the initial (seed) accumulator value for each individual Observer |
---|---|
reducer | an accumulator function to be invoked on each item emitted by the source ObservableSource, the result of which will be used in the next accumulator call |
Returns an Observable that repeats the sequence of items emitted by the source ObservableSource indefinitely.
repeat
does not operate by default on a particular Scheduler
.Returns an Observable that repeats the sequence of items emitted by the source ObservableSource at most
count
times.
repeat
does not operate by default on a particular Scheduler
.times | the number of times the source ObservableSource items are repeated, a count of 0 will yield an empty sequence |
---|
count
timesIllegalArgumentException | if count is less than zero |
---|
Returns an Observable that repeats the sequence of items emitted by the source ObservableSource until the provided stop function returns true.
repeatUntil
does not operate by default on a particular Scheduler
.stop | a boolean supplier that is called when the current Observable completes and unless it returns false, the current Observable is resubscribed |
---|
NullPointerException | if stop is null |
---|
Returns an Observable that emits the same values as the source ObservableSource with the exception of an
onComplete
. An onComplete
notification from the source will result in the emission of
a void
item to the ObservableSource provided as an argument to the notificationHandler
function. If that ObservableSource calls onComplete
or onError
then repeatWhen
will
call onComplete
or onError
on the child subscription. Otherwise, this ObservableSource will
resubscribe to the source ObservableSource.
repeatWhen
does not operate by default on a particular Scheduler
.handler | receives an ObservableSource of notifications with which a user can complete or error, aborting the repeat. |
---|
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.
Scheduler
this operator will useselector | a selector function, which can use the multicasted sequence as many times as needed, without causing multiple subscriptions to the ObservableSource |
---|---|
bufferSize | the buffer size that limits the number of items the connectable ObservableSource can replay |
scheduler | the Scheduler on which the replay is observed |
ConnectableObservable
that shares a single subscription to the source ObservableSource,
replaying no more than bufferSize
notificationsReturns 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.
replay
does not operate by default on a particular Scheduler
.selector | the selector function, which can use the multicasted sequence as many times as needed, without causing multiple subscriptions to the ObservableSource |
---|---|
bufferSize | the buffer size that limits the number of items the connectable ObservableSource can replay |
ConnectableObservable
that shares a single subscription to the source ObservableSource
replaying no more than bufferSize
itemsReturns 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.
Scheduler
this operator will useselector | a selector function, which can use the multicasted sequence as many times as needed, without causing multiple subscriptions to the ObservableSource |
---|---|
bufferSize | the buffer size that limits the number of items the connectable ObservableSource can replay |
time | the duration of the window in which the replayed items must have been emitted |
unit | the time unit of time |
scheduler | the Scheduler that is the time source for the window |
ConnectableObservable
that shares a single subscription to the source ObservableSource, and
replays no more than bufferSize
items that were emitted within the window defined by
time
IllegalArgumentException | if bufferSize is less than zero |
---|
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. A Connectable
ObservableSource resembles an ordinary ObservableSource, except that it does not begin emitting items when it is
subscribed to, but only when its connect
method is called.
replay
operates by default on the computation
Scheduler
.bufferSize | the buffer size that limits the number of items that can be replayed |
---|---|
time | the duration of the window in which the replayed items must have been emitted |
unit | the time unit of time |
ConnectableObservable
that shares a single subscription to the source ObservableSource and
replays at most bufferSize
items that were emitted during the window defined by
time
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. A
Connectable ObservableSource resembles an ordinary ObservableSource, except that it does not begin emitting items
when it is subscribed to, but only when its connect
method is called.
Scheduler
this operator will usebufferSize | the buffer size that limits the number of items that can be replayed |
---|---|
time | the duration of the window in which the replayed items must have been emitted |
unit | the time unit of time |
scheduler | the scheduler that is used as a time source for the window |
ConnectableObservable
that shares a single subscription to the source ObservableSource and
replays at most bufferSize
items that were emitted during the window defined by
time
IllegalArgumentException | if bufferSize is less than zero |
---|
Returns a ConnectableObservable
that shares a single subscription to the source ObservableSource that
replays at most bufferSize
items emitted by that ObservableSource. A Connectable ObservableSource resembles
an ordinary ObservableSource, except that it does not begin emitting items when it is subscribed to, but only
when its connect
method is called.
replay
does not operate by default on a particular Scheduler
.bufferSize | the buffer size that limits the number of items that can be replayed |
---|
ConnectableObservable
that shares a single subscription to the source ObservableSource and
replays at most bufferSize
items emitted by that ObservableSourceReturns a ConnectableObservable
that shares a single subscription to the underlying ObservableSource
that will replay all of its items and notifications to any future Observer
. A Connectable
ObservableSource resembles an ordinary ObservableSource, except that it does not begin emitting items when it is
subscribed to, but only when its connect
method is called.
replay
does not operate by default on a particular Scheduler
.ConnectableObservable
that upon connection causes the source ObservableSource to emit its
items to its Observer
sReturns 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.
replay
operates by default on the computation
Scheduler
.selector | a selector function, which can use the multicasted sequence as many times as needed, without causing multiple subscriptions to the ObservableSource |
---|---|
bufferSize | the buffer size that limits the number of items the connectable ObservableSource can replay |
time | the duration of the window in which the replayed items must have been emitted |
unit | the time unit of time |
ConnectableObservable
that shares a single subscription to the source ObservableSource, and
replays no more than bufferSize
items that were emitted within the window defined by
time
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. A Connectable ObservableSource
resembles an ordinary ObservableSource, except that it does not begin emitting items when it is subscribed to,
but only when its connect
method is called.
replay
operates by default on the computation
Scheduler
.time | the duration of the window in which the replayed items must have been emitted |
---|---|
unit | the time unit of time |
ConnectableObservable
that shares a single subscription to the source ObservableSource and
replays the items that were emitted during the window defined by time
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.
replay
does not operate by default on a particular Scheduler
.selector | the selector function, which can use the multicasted sequence as many times as needed, without causing multiple subscriptions to the ObservableSource |
---|
ConnectableObservable
that shares a single subscription to the source ObservableSourceReturns 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.
Scheduler
this operator will useselector | a selector function, which can use the multicasted sequence as many times as needed, without causing multiple subscriptions to the ObservableSource |
---|---|
scheduler | the Scheduler where the replay is observed |
ConnectableObservable
that shares a single subscription to the source ObservableSource,
replaying all itemsReturns 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
. A Connectable ObservableSource resembles an ordinary ObservableSource, except that it does not
begin emitting items when it is subscribed to, but only when its connect
method is called.
Scheduler
this operator will usescheduler | the Scheduler on which the Observers will observe the emitted items |
---|
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
Returns a ConnectableObservable
that shares a single subscription to the source ObservableSource and
replays at most bufferSize
items emitted by that ObservableSource. A Connectable ObservableSource resembles
an ordinary ObservableSource, except that it does not begin emitting items when it is subscribed to, but only
when its connect
method is called.
Scheduler
this operator will usebufferSize | the buffer size that limits the number of items that can be replayed |
---|---|
scheduler | the scheduler on which the Observers will observe the emitted items |
ConnectableObservable
that shares a single subscription to the source ObservableSource and
replays at most bufferSize
items that were emitted by the ObservableSourceReturns 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.
replay
operates by default on the computation
Scheduler
.selector | a selector function, which can use the multicasted sequence as many times as needed, without causing multiple subscriptions to the ObservableSource |
---|---|
time | the duration of the window in which the replayed items must have been emitted |
unit | the time unit of time |
ConnectableObservable
that shares a single subscription to the source ObservableSource,
replaying all items that were emitted within the window defined by time
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.
Scheduler
this operator will useselector | a selector function, which can use the multicasted sequence as many times as needed, without causing multiple subscriptions to the ObservableSource |
---|---|
time | the duration of the window in which the replayed items must have been emitted |
unit | the time unit of time |
scheduler | the scheduler that is the time source for the window |
ConnectableObservable
that shares a single subscription to the source ObservableSource,
replaying all items that were emitted within the window defined by time
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. A Connectable ObservableSource
resembles an ordinary ObservableSource, except that it does not begin emitting items when it is subscribed to,
but only when its connect
method is called.
Scheduler
this operator will usetime | the duration of the window in which the replayed items must have been emitted |
---|---|
unit | the time unit of time |
scheduler | the Scheduler that is the time source for the window |
ConnectableObservable
that shares a single subscription to the source ObservableSource and
replays the items that were emitted during the window defined by time
Returns an Observable that mirrors the source ObservableSource, resubscribing to it if it calls onError
(infinite retry count).
If the source ObservableSource calls onError(Throwable)
, this method will resubscribe to the source
ObservableSource rather than propagating the onError
call.
Any and all items emitted by the source ObservableSource will be emitted by the resulting ObservableSource, even
those emitted during failed subscriptions. For example, if an ObservableSource fails at first but emits
[1, 2]
then succeeds the second time and emits [1, 2, 3, 4, 5]
then the complete sequence
of emissions and notifications would be [1, 2, 1, 2, 3, 4, 5, onComplete]
.
retry
does not operate by default on a particular Scheduler
.Returns an Observable that mirrors the source ObservableSource, resubscribing to it if it calls onError
up to a specified number of retries.
If the source ObservableSource calls onError(Throwable)
, this method will resubscribe to the source
ObservableSource for a maximum of count
resubscriptions rather than propagating the
onError
call.
Any and all items emitted by the source ObservableSource will be emitted by the resulting ObservableSource, even
those emitted during failed subscriptions. For example, if an ObservableSource fails at first but emits
[1, 2]
then succeeds the second time and emits [1, 2, 3, 4, 5]
then the complete sequence
of emissions and notifications would be [1, 2, 1, 2, 3, 4, 5, onComplete]
.
retry
does not operate by default on a particular Scheduler
.times | number of retry attempts before failing |
---|
Retries at most times or until the predicate returns false, whichever happens first.
retry
does not operate by default on a particular Scheduler
.times | the number of times to repeat |
---|---|
predicate | the predicate called with the failure Throwable and should return true to trigger a retry. |
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.
retry
does not operate by default on a particular Scheduler
.predicate | the predicate that determines if a resubscription may happen in case of a specific exception and retry count |
---|
Retries the current Observable if the predicate returns true.
retry
does not operate by default on a particular Scheduler
.predicate | the predicate that receives the failure Throwable and should return true to trigger a retry. |
---|
Retries until the given stop function returns true.
*
retryUntil
does not operate by default on a particular Scheduler
.stop | the function that should return true to stop retrying |
---|
Returns an Observable that emits the same values as the source ObservableSource with the exception of an
onError
. An onError
notification from the source will result in the emission of a
Throwable
item to the ObservableSource provided as an argument to the notificationHandler
function. If that ObservableSource calls onComplete
or onError
then retry
will call
onComplete
or onError
on the child subscription. Otherwise, this ObservableSource will
resubscribe to the source ObservableSource.
Example:
This retries 3 times, each time incrementing the number of seconds it waits.
ObservableSource.create((Observer<? super String> s) -> {
System.out.println("subscribing");
s.onError(new RuntimeException("always fails"));
}).retryWhen(attempts -> {
return attempts.zipWith(Observable.range(1, 3), (n, i) -> i).flatMap(i -> {
System.out.println("delay retry by " + i + " second(s)");
return ObservableSource.timer(i, TimeUnit.SECONDS);
});
}).blockingForEach(System.out::println);
Output is:
subscribing
delay retry by 1 second(s)
subscribing
delay retry by 2 second(s)
subscribing
delay retry by 3 second(s)
subscribing
retryWhen
does not operate by default on a particular Scheduler
.handler | receives an ObservableSource of notifications with which a user can complete or error, aborting the retry |
---|
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).
safeSubscribe
does not operate by default on a particular Scheduler
.s | the incoming Observer instance |
---|
NullPointerException | if s is null |
---|
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.
Scheduler
this operator will useperiod | the sampling rate |
---|---|
unit | the TimeUnit in which period is defined |
scheduler | the Scheduler to use when sampling |
Returns an Observable that emits the most recently emitted item (if any) emitted by the source ObservableSource within periodic time intervals.
sample
operates by default on the computation
Scheduler
.period | the sampling rate |
---|---|
unit | the TimeUnit in which period is defined |
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.
sample
does not operate by default on a particular Scheduler
.sampler | the ObservableSource to use for sampling the source ObservableSource |
---|
sampler
ObservableSource emits an item or completesReturns 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.
sample
operates by default on the computation
Scheduler
.History: 2.0.5 - experimental
period | the sampling rate |
---|---|
unit | the TimeUnit in which period is defined |
emitLast | if true and the upstream completes while there is still an unsampled item available, that item is emitted to downstream before completion if false, an unsampled last item is ignored. |
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.
Scheduler
this operator will useHistory: 2.0.5 - experimental
period | the sampling rate |
---|---|
unit | the TimeUnit in which period is defined |
scheduler | the Scheduler to use when sampling |
emitLast | if true and the upstream completes while there is still an unsampled item available, that item is emitted to downstream before completion if false, an unsampled last item is ignored. |
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.
sample
does not operate by default on a particular Scheduler
.History: 2.0.5 - experimental
sampler | the ObservableSource to use for sampling the source ObservableSource |
---|---|
emitLast | if true and the upstream completes while there is still an unsampled item available, that item is emitted to downstream before completion if false, an unsampled last item is ignored. |
sampler
ObservableSource emits an item or completesReturns 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.
This sort of function is sometimes called an accumulator.
Note that the ObservableSource that results from this method will emit initialValue
as its first
emitted item.
Note that the initialValue
is shared among all subscribers to the resulting ObservableSource
and may cause problems if it is mutable. To make sure each subscriber gets its own value, defer
the application of this operator via defer(Callable)
:
ObservableSource<T> source = ...
Observable.defer(() -> source.scan(new ArrayList<>(), (list, item) -> list.add(item)));
// alternatively, by using compose to stay fluent
source.compose(o ->
Observable.defer(() -> o.scan(new ArrayList<>(), (list, item) -> list.add(item)))
);
scan
does not operate by default on a particular Scheduler
.initialValue | the initial (seed) accumulator item |
---|---|
accumulator | an accumulator function to be invoked on each item emitted by the source ObservableSource, whose
result will be emitted to Observer s via onNext and used in the
next accumulator call |
initialValue
followed by the results of each call to the
accumulator functionReturns 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.
This sort of function is sometimes called an accumulator.
scan
does not operate by default on a particular Scheduler
.accumulator | an accumulator function to be invoked on each item emitted by the source ObservableSource, whose
result will be emitted to Observer s via onNext and used in the
next accumulator call |
---|
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.
This sort of function is sometimes called an accumulator.
Note that the ObservableSource that results from this method will emit the value returned
by the seedSupplier
as its first item.
scanWith
does not operate by default on a particular Scheduler
.seedSupplier | a Callable that returns the initial (seed) accumulator item for each individual Observer |
---|---|
accumulator | an accumulator function to be invoked on each item emitted by the source ObservableSource, whose
result will be emitted to Observer s via onNext and used in the
next accumulator call |
initialValue
followed by the results of each call to the
accumulator functionReturns 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.
sequenceEqual
does not operate by default on a particular Scheduler
.source1 | the first ObservableSource to compare |
---|---|
source2 | the second ObservableSource to compare |
bufferSize | the number of items to prefetch from the first and second source ObservableSource |
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.
sequenceEqual
does not operate by default on a particular Scheduler
.source1 | the first ObservableSource to compare |
---|---|
source2 | the second ObservableSource to compare |
isEqual | a function used to compare items emitted by each ObservableSource |
bufferSize | the number of items to prefetch from the first and second source ObservableSource |
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.
sequenceEqual
does not operate by default on a particular Scheduler
.source1 | the first ObservableSource to compare |
---|---|
source2 | the second ObservableSource to compare |
isEqual | a function used to compare items emitted by each ObservableSource |
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.
sequenceEqual
does not operate by default on a particular Scheduler
.source1 | the first ObservableSource to compare |
---|---|
source2 | the second ObservableSource to compare |
Forces an ObservableSource's emissions and notifications to be serialized and for it to obey the ObservableSource contract in other ways.
It is possible for an ObservableSource to invoke its Observers' methods asynchronously, perhaps from
different threads. This could make such an ObservableSource poorly-behaved, in that it might try to invoke
onComplete
or onError
before one of its onNext
invocations, or it might call
onNext
from two different threads concurrently. You can force such an ObservableSource to be
well-behaved and sequential by applying the serialize
method to it.
serialize
does not operate by default on a particular Scheduler
.ObservableSource
that is guaranteed to be well-behaved and to make only serialized calls to
its observersReturns a new ObservableSource
that multicasts (shares) the original ObservableSource
. As long as
there is at least one Observer
this ObservableSource
will be subscribed and emitting data.
When all subscribers have disposed it will dispose the source ObservableSource
.
This is an alias for publish()
.refCount()
.
share
does not operate by default on a particular Scheduler
.ObservableSource
that upon connection causes the source ObservableSource
to emit items
to its Observer
sReturns 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. If the source
ObservableSource emits more than one item, an IllegalArgumentException
is signalled instead.
single
does not operate by default on a particular Scheduler
.defaultItem | a default value to emit if the source ObservableSource emits no item |
---|
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.
singleElement
does not operate by default on a particular Scheduler
.Maybe
that emits the single item emitted by the source ObservableSourceReturns 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.
singleOrError
does not operate by default on a particular Scheduler
.Returns an Observable that skips the first count
items emitted by the source ObservableSource and emits
the remainder.
skip
does not operate by default on a particular Scheduler
.count | the number of items to skip |
---|
count
items that the source ObservableSource emitsReturns an Observable that skips values emitted by the source ObservableSource before a specified time window
on a specified Scheduler
elapses.
Scheduler
this operator will use for the timed skippingtime | the length of the time window to skip |
---|---|
unit | the time unit of time |
scheduler | the Scheduler on which the timed wait happens |
time
and scheduler
elapses, and then emits the remainderReturns an Observable that skips values emitted by the source ObservableSource before a specified time window elapses.
skip
does not operate on any particular scheduler but uses the current time
from the computation
Scheduler
.time | the length of the time window to skip |
---|---|
unit | the time unit of time |
time
elapses and the emits the remainderReturns an Observable that drops a specified number of items from the end of the sequence emitted by the source ObservableSource.
This Observer accumulates a queue long enough to store the first count
items. As more items are
received, items are taken from the front of the queue and emitted by the returned ObservableSource. This causes
such items to be delayed.
skipLast
does not operate by default on a particular Scheduler
.count | number of items to drop from the end of the source sequence |
---|
IndexOutOfBoundsException | if count is less than zero |
---|
Returns an Observable that drops items emitted by the source ObservableSource during a specified time window before the source completes.
Note: this action will cache the latest items arriving in the specified time window.
skipLast
does not operate on any particular scheduler but uses the current time
from the computation
Scheduler
.time | the length of the time window |
---|---|
unit | the time unit of time |
time
Returns an Observable that drops items emitted by the source ObservableSource during a specified time window before the source completes.
Note: this action will cache the latest items arriving in the specified time window.
skipLast
does not operate on any particular scheduler but uses the current time
from the computation
Scheduler
.time | the length of the time window |
---|---|
unit | the time unit of time |
delayError | if true, an exception signalled by the current Observable is delayed until the regular elements are consumed by the downstream; if false, an exception is immediately signalled and all regular elements dropped |
time
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.
Note: this action will cache the latest items arriving in the specified time window.
Scheduler
this operator will use for tracking the current timetime | the length of the time window |
---|---|
unit | the time unit of time |
scheduler | the scheduler used as the time source |
time
and 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.
Note: this action will cache the latest items arriving in the specified time window.
Scheduler
this operator will usetime | the length of the time window |
---|---|
unit | the time unit of time |
scheduler | the scheduler used as the time source |
delayError | if true, an exception signalled by the current Observable is delayed until the regular elements are consumed by the downstream; if false, an exception is immediately signalled and all regular elements dropped |
bufferSize | the hint about how many elements to expect to be skipped |
time
and 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.
Note: this action will cache the latest items arriving in the specified time window.
Scheduler
this operator will use to track the current timetime | the length of the time window |
---|---|
unit | the time unit of time |
scheduler | the scheduler used as the time source |
delayError | if true, an exception signalled by the current Observable is delayed until the regular elements are consumed by the downstream; if false, an exception is immediately signalled and all regular elements dropped |
time
and scheduler
Returns an Observable that skips items emitted by the source ObservableSource until a second ObservableSource emits an item.
skipUntil
does not operate by default on a particular Scheduler
.other | the second ObservableSource that has to emit an item before the source ObservableSource's elements begin to be mirrored by the resulting ObservableSource |
---|
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.
skipWhile
does not operate by default on a particular Scheduler
.predicate | a function to test each item emitted from the source ObservableSource |
---|
Returns an Observable that emits the events emitted by source ObservableSource, in a
sorted order. Each item emitted by the ObservableSource must implement Comparable
with respect to all
other items in the sequence.
If any item emitted by this Observable does not implement Comparable
with respect to
all other items emitted by this Observable, no items will be emitted and the
sequence is terminated with a ClassCastException.
Note that calling sorted
with long, non-terminating or infinite sources
might cause OutOfMemoryError
sorted
does not operate by default on a particular Scheduler
.Returns an Observable that emits the events emitted by source ObservableSource, in a sorted order based on a specified comparison function.
Note that calling sorted
with long, non-terminating or infinite sources
might cause OutOfMemoryError
sorted
does not operate by default on a particular Scheduler
.sortFunction | a function that compares two items emitted by the source ObservableSource and returns an Integer that indicates their sort order |
---|
Returns an Observable that emits the items in a specified ObservableSource
before it begins to emit
items emitted by the source ObservableSource.
startWith
does not operate by default on a particular Scheduler
.other | an ObservableSource that contains the items you want the modified ObservableSource to emit first |
---|
ObservableSource
and then emits the items
emitted by the source ObservableSourceReturns an Observable that emits the items in a specified Iterable
before it begins to emit items
emitted by the source ObservableSource.
startWith
does not operate by default on a particular Scheduler
.items | an Iterable that contains the items you want the modified ObservableSource to emit first |
---|
Iterable
and then emits the items
emitted by the source ObservableSourceReturns an Observable that emits a specified item before it begins to emit items emitted by the source ObservableSource.
startWith
does not operate by default on a particular Scheduler
.item | the item to emit first |
---|
Returns an Observable that emits the specified items before it begins to emit items emitted by the source ObservableSource.
startWithArray
does not operate by default on a particular Scheduler
.items | the array of values to emit first |
---|
Subscribes to an ObservableSource and provides callbacks to handle the items it emits and any error or completion notification it issues.
subscribe
does not operate by default on a particular Scheduler
.onNext | the Consumer<T> you have designed to accept emissions from the ObservableSource |
---|---|
onError | the Consumer<Throwable> you have designed to accept any error notification from the
ObservableSource |
onComplete | the Action you have designed to accept a completion notification from the
ObservableSource |
onSubscribe | the Consumer that receives the upstream's Disposable |
Disposable
reference with which the caller can stop receiving items before
the ObservableSource has finished sending themNullPointerException | if onNext is null, or
if onError is null, or
if onComplete is null |
---|
Subscribes the given Observer to this ObservableSource instance.
observer | the Observer, not null |
---|
Subscribes to an ObservableSource and provides callbacks to handle the items it emits and any error or completion notification it issues.
subscribe
does not operate by default on a particular Scheduler
.onNext | the Consumer<T> you have designed to accept emissions from the ObservableSource |
---|---|
onError | the Consumer<Throwable> you have designed to accept any error notification from the
ObservableSource |
onComplete | the Action you have designed to accept a completion notification from the
ObservableSource |
Disposable
reference with which the caller can stop receiving items before
the ObservableSource has finished sending themNullPointerException | if onNext is null, or
if onError is null, or
if onComplete is null |
---|
Subscribes to an ObservableSource and ignores onNext
and onComplete
emissions.
If the Observable emits an error, it is wrapped into an
OnErrorNotImplementedException
and routed to the RxJavaPlugins.onError handler.
subscribe
does not operate by default on a particular Scheduler
.Disposable
reference with which the caller can stop receiving items before
the ObservableSource has finished sending themSubscribes to an ObservableSource and provides a callback to handle the items it emits.
If the Observable emits an error, it is wrapped into an
OnErrorNotImplementedException
and routed to the RxJavaPlugins.onError handler.
subscribe
does not operate by default on a particular Scheduler
.onNext | the Consumer<T> you have designed to accept emissions from the ObservableSource |
---|
Disposable
reference with which the caller can stop receiving items before
the ObservableSource has finished sending themNullPointerException | if onNext is null |
---|
Subscribes to an ObservableSource and provides callbacks to handle the items it emits and any error notification it issues.
subscribe
does not operate by default on a particular Scheduler
.onNext | the Consumer<T> you have designed to accept emissions from the ObservableSource |
---|---|
onError | the Consumer<Throwable> you have designed to accept any error notification from the
ObservableSource |
Disposable
reference with which the caller can stop receiving items before
the ObservableSource has finished sending themNullPointerException | if onNext is null, or
if onError is null
|
---|
Asynchronously subscribes Observers to this ObservableSource on the specified Scheduler
.
Scheduler
this operator will usescheduler | the Scheduler to perform subscription actions on |
---|
Scheduler
Subscribes a given Observer (subclass) to this Observable and returns the given Observer as is.
Usage example:
Observable<Integer> source = Observable.range(1, 10);
CompositeDisposable composite = new CompositeDisposable();
ResourceObserver<Integer> rs = new ResourceObserver<>() {
// ...
};
composite.add(source.subscribeWith(rs));
subscribeWith
does not operate by default on a particular Scheduler
.observer | the Observer (subclass) to use and return, not null |
---|
observer
NullPointerException | if observer is null |
---|
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.
switchIfEmpty
does not operate by default on a particular Scheduler
.other | the alternate ObservableSource to subscribe to if the source does not emit any items |
---|
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.
The resulting ObservableSource completes if both the upstream ObservableSource and the last inner ObservableSource, if any, complete. If the upstream ObservableSource signals an onError, the inner ObservableSource is disposed and the error delivered in-sequence.
switchMap
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns an ObservableSource |
---|
func
to the most recently emitted item emitted by the source ObservableSourceReturns 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.
The resulting ObservableSource completes if both the upstream ObservableSource and the last inner ObservableSource, if any, complete. If the upstream ObservableSource signals an onError, the inner ObservableSource is disposed and the error delivered in-sequence.
switchMap
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns an ObservableSource |
---|---|
bufferSize | the number of elements to prefetch from the current active inner ObservableSource |
func
to the most recently emitted item emitted by the source ObservableSourceReturns 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.
The resulting ObservableSource completes if both the upstream ObservableSource and the last inner ObservableSource, if any, complete. If the upstream 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.
switchMapDelayError
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns an ObservableSource |
---|
func
to the most recently emitted item emitted by the source ObservableSourceReturns 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.
The resulting ObservableSource completes if both the upstream ObservableSource and the last inner ObservableSource, if any, complete. If the upstream 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.
switchMapDelayError
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns an ObservableSource |
---|---|
bufferSize | the number of elements to prefetch from the current active inner ObservableSource |
func
to the most recently emitted item emitted by the source ObservableSourceReturns 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.
The resulting ObservableSource completes if both the upstream ObservableSource and the last inner SingleSource, if any, complete. If the upstream ObservableSource signals an onError, the inner SingleSource is disposed and the error delivered in-sequence.
switchMapSingle
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns a SingleSource |
---|
func
to the most recently emitted item emitted by the source ObservableSourceReturns 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.
The resulting ObservableSource completes if both the upstream ObservableSource and the last inner SingleSource, if any, complete. If the upstream ObservableSource signals an onError, the termination of the last inner SingleSource will emit that error as is or wrapped into a CompositeException along with the other possible errors the former inner SingleSources signalled.
switchMapSingleDelayError
does not operate by default on a particular Scheduler
.mapper | a function that, when applied to an item emitted by the source ObservableSource, returns a SingleSource |
---|
func
to the most recently emitted item emitted by the source ObservableSourceConverts an ObservableSource that emits ObservableSources into an ObservableSource that emits the items emitted by the most recently emitted of those ObservableSources.
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
.sources | the source ObservableSource that emits ObservableSources |
---|---|
bufferSize | the number of items to prefetch from the inner ObservableSources |
Converts an ObservableSource that emits ObservableSources into an ObservableSource that emits the items emitted by the most recently emitted of those ObservableSources.
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
.sources | the source ObservableSource that emits ObservableSources |
---|
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.
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
.sources | the source ObservableSource that emits ObservableSources |
---|---|
prefetch | the number of items to prefetch from the inner ObservableSources |
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.
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
.sources | the source ObservableSource that emits ObservableSources |
---|
Returns an Observable that emits those items emitted by source ObservableSource before a specified time runs out.
take
operates by default on the computation
Scheduler
.time | the length of the time window |
---|---|
unit | the time unit of time |
Returns an Observable that emits those items emitted by source ObservableSource before a specified time (on a specified Scheduler) runs out.
Scheduler
this operator will usetime | the length of the time window |
---|---|
unit | the time unit of time |
scheduler | the Scheduler used for time source |
Returns an Observable that emits only the first count
items emitted by the source ObservableSource. If the source emits fewer than
count
items then all of its items are emitted.
This method returns an ObservableSource that will invoke a subscribing Observer
's
onNext
function a maximum of count
times before invoking
onComplete
.
take
does not operate by default on a particular Scheduler
.count | the maximum number of items to emit |
---|
count
items emitted by the source ObservableSource, or
all of the items from the source ObservableSource if that ObservableSource emits fewer than count
itemsReturns an Observable that emits the items from the source ObservableSource that were emitted in a specified window of time before the ObservableSource completed.
takeLast
operates by default on the computation
Scheduler
.time | the length of the time window |
---|---|
unit | the time unit of time |
delayError | if true, an exception signalled by the current Observable is delayed until the regular elements are consumed by the downstream; if false, an exception is immediately signalled and all regular elements dropped |
time
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.
Scheduler
this operator will use for tracking the current timecount | the maximum number of items to emit |
---|---|
time | the length of the time window |
unit | the time unit of time |
scheduler | the Scheduler that provides the timestamps for the observed items |
delayError | if true, an exception signalled by the current Observable is delayed until the regular elements are consumed by the downstream; if false, an exception is immediately signalled and all regular elements dropped |
bufferSize | the hint about how many elements to expect to be last |
count
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 the given scheduler
IndexOutOfBoundsException | if count is less than zero |
---|
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.
Scheduler
this operator will usetime | the length of the time window |
---|---|
unit | the time unit of time |
scheduler | the Scheduler that provides the timestamps for the Observed items |
time
, where the timing information is
provided by 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.
Scheduler
this operator will usetime | the length of the time window |
---|---|
unit | the time unit of time |
scheduler | the Scheduler that provides the timestamps for the Observed items |
delayError | if true, an exception signalled by the current Observable is delayed until the regular elements are consumed by the downstream; if false, an exception is immediately signalled and all regular elements dropped |
time
, where the timing information is
provided by scheduler
Returns an Observable that emits at most the last count
items emitted by the source ObservableSource. If the source emits fewer than
count
items then all of its items are emitted.
takeLast
does not operate by default on a particular Scheduler
.count | the maximum number of items to emit from the end of the sequence of items emitted by the source ObservableSource |
---|
count
items emitted by the source ObservableSourceIndexOutOfBoundsException | if count is less than zero |
---|
Returns an Observable that emits the items from the source ObservableSource that were emitted in a specified window of time before the ObservableSource completed.
takeLast
operates by default on the computation
Scheduler
.time | the length of the time window |
---|---|
unit | the time unit of time |
time
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.
takeLast
does not operate on any particular scheduler but uses the current time
from the computation
Scheduler
.count | the maximum number of items to emit |
---|---|
time | the length of the time window |
unit | the time unit of time |
count
items from the source ObservableSource that were emitted
in a specified window of time before the ObservableSource completedReturns 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.
Scheduler
this operator will use for tracking the current timecount | the maximum number of items to emit |
---|---|
time | the length of the time window |
unit | the time unit of time |
scheduler | the Scheduler that provides the timestamps for the observed items |
count
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 the given scheduler
IndexOutOfBoundsException | if count is less than zero |
---|
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.
Scheduler
this operator will usetime | the length of the time window |
---|---|
unit | the time unit of time |
scheduler | the Scheduler that provides the timestamps for the Observed items |
delayError | if true, an exception signalled by the current Observable is delayed until the regular elements are consumed by the downstream; if false, an exception is immediately signalled and all regular elements dropped |
bufferSize | the hint about how many elements to expect to be last |
time
, where the timing information is
provided by scheduler
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.
The difference between this operator and takeWhile(Predicate)
is that here, the condition is
evaluated after the item is emitted.
takeUntil
does not operate by default on a particular Scheduler
.stopPredicate | a function that evaluates an item emitted by the source Observable and returns a Boolean |
---|
Returns an Observable that emits the items emitted by the source Observable until a second ObservableSource emits an item.
takeUntil
does not operate by default on a particular Scheduler
.other | the ObservableSource whose first emitted item will cause takeUntil to stop emitting items
from the source Observable |
---|
other
emits its first itemReturns 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.
takeWhile
does not operate by default on a particular Scheduler
.predicate | a function that evaluates an item emitted by the source ObservableSource and returns a Boolean |
---|
predicate
, then completesCreates a TestObserver, optionally disposes it and then subscribes it to this Observable.
test
does not operate by default on a particular Scheduler
.dispose | dispose the TestObserver before it is subscribed to this Observable? |
---|
Creates a TestObserver and subscribes it to this Observable.
test
does not operate by default on a particular Scheduler
.Returns an Observable that emits only the first item emitted by the source ObservableSource during sequential time windows of a specified duration.
This differs from throttleLast(long, TimeUnit)
in that this only tracks passage of time whereas
throttleLast(long, TimeUnit)
ticks at scheduled intervals.
throttleFirst
operates by default on the computation
Scheduler
.windowDuration | time to wait before emitting another item after emitting the last item |
---|---|
unit | the unit of time of windowDuration |
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.
This differs from throttleLast(long, TimeUnit)
in that this only tracks passage of time whereas
throttleLast(long, TimeUnit)
ticks at scheduled intervals.
Scheduler
this operator will useskipDuration | time to wait before emitting another item after emitting the last item |
---|---|
unit | the unit of time of skipDuration |
scheduler | the Scheduler to use internally to manage the timers that handle timeout for each
event |
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.
This differs from throttleFirst(long, TimeUnit)
in that this ticks along at a scheduled interval whereas
throttleFirst(long, TimeUnit)
does not tick, it just tracks passage of time.
Scheduler
this operator will useintervalDuration | duration of windows within which the last item emitted by the source ObservableSource will be emitted |
---|---|
unit | the unit of time of intervalDuration |
scheduler | the Scheduler to use internally to manage the timers that handle timeout for each
event |
Returns an Observable that emits only the last item emitted by the source ObservableSource during sequential time windows of a specified duration.
This differs from throttleFirst(long, TimeUnit)
in that this ticks along at a scheduled interval whereas
throttleFirst(long, TimeUnit)
does not tick, it just tracks passage of time.
throttleLast
operates by default on the computation
Scheduler
.intervalDuration | duration of windows within which the last item emitted by the source ObservableSource will be emitted |
---|---|
unit | the unit of time of intervalDuration |
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.
Note: If the source ObservableSource keeps emitting items more frequently than the length of the time window then no items will be emitted by the resulting ObservableSource.
Information on debounce vs throttle:
Scheduler
this operator will usetimeout | the length of the window of time that must pass after the emission of an item from the source ObservableSource in which that ObservableSource emits no items in order for the item to be emitted by the resulting ObservableSource |
---|---|
unit | the TimeUnit of timeout |
scheduler | the Scheduler to use internally to manage the timers that handle the timeout for each
item |
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.
Note: If the source ObservableSource keeps emitting items more frequently than the length of the time window then no items will be emitted by the resulting ObservableSource.
Information on debounce vs throttle:
throttleWithTimeout
operates by default on the computation
Scheduler
.timeout | the length of the window of time that must pass after the emission of an item from the source ObservableSource in which that ObservableSource emits no items in order for the item to be emitted by the resulting ObservableSource |
---|---|
unit | the TimeUnit of timeout |
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.
Scheduler
.scheduler | the Scheduler used to compute time intervals |
---|
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.
Scheduler
.unit | the time unit for the current time |
---|---|
scheduler | the Scheduler used to compute time intervals |
Returns an Observable that emits records of the time interval between consecutive items emitted by the source ObservableSource.
timeInterval
does not operate on any particular scheduler but uses the current time
from the computation
Scheduler
.Returns an Observable that emits records of the time interval between consecutive items emitted by the source ObservableSource.
timeInterval
does not operate on any particular scheduler but uses the current time
from the computation
Scheduler
.unit | the time unit for the current time |
---|
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.
Note: The arrival of the first source item is never timed out.
timeout
operates by default on the immediate
Scheduler
.itemTimeoutIndicator | a function that returns an ObservableSource, for each item emitted by the source ObservableSource, that determines the timeout window for the subsequent item |
---|---|
other | the fallback ObservableSource to switch to if the source ObservableSource times out |
Returns an Observable that mirrors the source ObservableSource but applies a timeout policy for each emitted item using a specified Scheduler. If the next item isn't emitted within the specified timeout duration starting from its predecessor, the resulting ObservableSource begins instead to mirror a fallback ObservableSource.
Scheduler
this operator will usetimeout | maximum duration between items before a timeout occurs |
---|---|
timeUnit | the unit of time that applies to the timeout argument |
scheduler | the Scheduler to run the timeout timers on |
other | the ObservableSource to use as the fallback in case of a timeout |
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.
timeout
operates by default on the immediate
Scheduler
.firstTimeoutIndicator | a function that returns an ObservableSource which determines the timeout window for the first source item |
---|---|
itemTimeoutIndicator | a function that returns an ObservableSource for each item emitted by the source ObservableSource and that determines the timeout window in which the subsequent source item must arrive in order to continue the sequence |
other | the fallback ObservableSource to switch to if the source ObservableSource times out |
other
ObservableSource if
either the first item emitted by the source ObservableSource or any subsequent item doesn't arrive
within time windows defined by the timeout selectorsNullPointerException | if itemTimeoutIndicator is null, or
if other is null |
---|
Returns an Observable that mirrors the source ObservableSource but applies a timeout policy for each emitted
item. If the next item isn't emitted within the specified timeout duration starting from its predecessor,
the resulting ObservableSource terminates and notifies observers of a TimeoutException
.
timeout
operates by default on the computation
Scheduler
.timeout | maximum duration between emitted items before a timeout occurs |
---|---|
timeUnit | the unit of time that applies to the timeout argument. |
TimeoutException
in case of a
timeoutReturns an Observable that mirrors the source ObservableSource but applies a timeout policy for each emitted item. If the next item isn't emitted within the specified timeout duration starting from its predecessor, the resulting ObservableSource begins instead to mirror a fallback ObservableSource.
timeout
operates by default on the computation
Scheduler
.timeout | maximum duration between items before a timeout occurs |
---|---|
timeUnit | the unit of time that applies to the timeout argument |
other | the fallback ObservableSource to use in case of a timeout |
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.
timeout
operates by default on the immediate
Scheduler
.firstTimeoutIndicator | a function that returns an ObservableSource that determines the timeout window for the first source item |
---|---|
itemTimeoutIndicator | a function that returns an ObservableSource for each item emitted by the source ObservableSource and that determines the timeout window in which the subsequent source item must arrive in order to continue the sequence |
TimeoutException
if either the first item or any subsequent item doesn't arrive within
the time windows specified by the timeout selectorsReturns 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. If the next item isn't emitted within the
specified timeout duration starting from its predecessor, the resulting ObservableSource terminates and
notifies observers of a TimeoutException
.
Scheduler
this operator will usetimeout | maximum duration between items before a timeout occurs |
---|---|
timeUnit | the unit of time that applies to the timeout argument |
scheduler | the Scheduler to run the timeout timers on |
TimeoutException
in case of a
timeoutReturns 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.
Note: The arrival of the first source item is never timed out.
timeout
operates by default on the immediate
Scheduler
.itemTimeoutIndicator | a function that returns an ObservableSource for each item emitted by the source ObservableSource and that determines the timeout window for the subsequent item |
---|
TimeoutException
if an item emitted by the source ObservableSource takes longer to arrive than
the time window defined by the selector for the previously emitted itemReturns an Observable that emits 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 completesReturns an Observable that emits 0L
after a specified delay, on a specified Scheduler, and then
completes.
Scheduler
this operator will usedelay | the initial delay before emitting a single 0L |
---|---|
unit | time units to use for delay |
scheduler | the Scheduler to use for scheduling the item |
0L
after a specified delay, on a specified Scheduler, and then
completesNullPointerException | if unit is null, or
if scheduler is null |
---|
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.
Scheduler
.unit | the time unit for the current time |
---|---|
scheduler | the Scheduler to use as a time source |
scheduler
Returns an Observable that emits each item emitted by the source ObservableSource, wrapped in a
Timed
object.
timestamp
does not operate on any particular scheduler but uses the current time
from the computation
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.
Scheduler
.scheduler | the Scheduler to use as a time source |
---|
scheduler
Returns an Observable that emits each item emitted by the source ObservableSource, wrapped in a
Timed
object.
timestamp
does not operate on any particular scheduler but uses the current time
from the computation
Scheduler
.unit | the time unit for the current time |
---|
Calls the specified converter function during assembly time and returns its resulting value.
This allows fluent conversion to any other type.
to
does not operate by default on a particular Scheduler
.converter | the function that receives the current Observable instance and returns a value |
---|
Converts the current Observable into a Flowable by applying the specified backpressure strategy.
BackpressureStrategy
enum.toFlowable
does not operate by default on a particular Scheduler
.strategy | the backpressure strategy to apply |
---|
Returns a 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().toFuture()
.
toFuture
does not operate by default on a particular Scheduler
.Future
that expects a single item to be emitted by this Observable
Returns a Single that emits a single item, a list composed of all the items emitted by the finite source ObservableSource.
Normally, an ObservableSource that returns multiple items will do so by invoking its Observer
's
onNext
method for each such item. You can change this behavior, instructing the
ObservableSource to compose a list of all of these items and then to invoke the Observer's onNext
function once, passing it the entire list, by calling the ObservableSource's toList
method prior to
calling its subscribe()
method.
Note that this operator requires the upstream to signal onComplete
for the accumulated collection to
be emitted. Sources that are infinite and never complete will never emit anything through this
operator and an infinite source may lead to a fatal OutOfMemoryError
.
toList
does not operate by default on a particular Scheduler
.collectionSupplier | the Callable returning the collection (for each individual Observer) to be filled in |
---|
Returns a Single that emits a single item, a list composed of all the items emitted by the finite source ObservableSource.
Normally, an ObservableSource that returns multiple items will do so by invoking its Observer
's
onNext
method for each such item. You can change this behavior, instructing the
ObservableSource to compose a list of all of these items and then to invoke the Observer's onNext
function once, passing it the entire list, by calling the ObservableSource's toList
method prior to
calling its subscribe()
method.
Note that this operator requires the upstream to signal onComplete
for the accumulated list to
be emitted. Sources that are infinite and never complete will never emit anything through this
operator and an infinite source may lead to a fatal OutOfMemoryError
.
toList
does not operate by default on a particular Scheduler
.Returns a Single that emits a single item, a list composed of all the items emitted by the finite source ObservableSource.
Normally, an ObservableSource that returns multiple items will do so by invoking its Observer
's
onNext
method for each such item. You can change this behavior, instructing the
ObservableSource to compose a list of all of these items and then to invoke the Observer's onNext
function once, passing it the entire list, by calling the ObservableSource's toList
method prior to
calling its subscribe()
method.
Note that this operator requires the upstream to signal onComplete
for the accumulated list to
be emitted. Sources that are infinite and never complete will never emit anything through this
operator and an infinite source may lead to a fatal OutOfMemoryError
.
toList
does not operate by default on a particular Scheduler
.capacityHint | the number of elements expected from the current Observable |
---|
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.
If more than one source item maps to the same key, the HashMap will contain the latest of those items.
toMap
does not operate by default on a particular Scheduler
.keySelector | the function that extracts the key from a source item to be used in the HashMap |
---|
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.
toMap
does not operate by default on a particular Scheduler
.keySelector | the function that extracts the key from a source item to be used in the Map |
---|---|
valueSelector | the function that extracts the value from the source items to be used as value in the Map |
mapSupplier | the function that returns a Map instance to be used |
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.
If more than one source item maps to the same key, the HashMap will contain a single entry that corresponds to the latest of those items.
toMap
does not operate by default on a particular Scheduler
.keySelector | the function that extracts the key from a source item to be used in the HashMap |
---|---|
valueSelector | the function that extracts the value from a source item to be used in the HashMap |
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.
toMultimap
does not operate by default on a particular Scheduler
.keySelector | the function that extracts the key from the source items to be used as key in the HashMap |
---|
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.
toMultimap
does not operate by default on a particular Scheduler
.keySelector | the function that extracts a key from the source items to be used as the key in the Map |
---|---|
valueSelector | the function that extracts a value from the source items to be used as the value in the Map |
mapSupplier | the function that returns a Map instance to be used |
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.
toMultimap
does not operate by default on a particular Scheduler
.keySelector | the function that extracts a key from the source items to be used as key in the HashMap |
---|---|
valueSelector | the function that extracts a value from the source items to be used as value in the HashMap |
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.
toMultimap
does not operate by default on a particular Scheduler
.keySelector | the function that extracts a key from the source items to be used as the key in the Map |
---|---|
valueSelector | the function that extracts a value from the source items to be used as the value in the Map |
mapSupplier | the function that returns a Map instance to be used |
collectionFactory | the function that returns a Collection instance for a particular key to be used in the Map |
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.
toSortedList
does not operate by default on a particular Scheduler
.comparator | a function that compares two items emitted by the source ObservableSource and returns an Integer that indicates their sort order |
---|---|
capacityHint | the initial capacity of the ArrayList used to accumulate items before sorting |
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.
toSortedList
does not operate by default on a particular Scheduler
.comparator | a function that compares two items emitted by the source ObservableSource and returns an Integer that indicates their sort order |
---|
Returns a Single that emits a list that contains the items emitted by the source ObservableSource, in a
sorted order. Each item emitted by the ObservableSource must implement Comparable
with respect to all
other items in the sequence.
If any item emitted by this Observable does not implement Comparable
with respect to
all other items emitted by this Observable, no items will be emitted and the
sequence is terminated with a ClassCastException.
toSortedList
does not operate by default on a particular Scheduler
.Returns a Single that emits a list that contains the items emitted by the source ObservableSource, in a
sorted order. Each item emitted by the ObservableSource must implement Comparable
with respect to all
other items in the sequence.
If any item emitted by this Observable does not implement Comparable
with respect to
all other items emitted by this Observable, no items will be emitted and the
sequence is terminated with a ClassCastException.
toSortedList
does not operate by default on a particular Scheduler
.capacityHint | the initial capacity of the ArrayList used to accumulate items before sorting |
---|
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.
unsafeCreate
by default doesn't operate on any particular Scheduler
.onSubscribe | the ObservableSource instance to wrap |
---|
Modifies the source ObservableSource so that subscribers will dispose it on a specified
Scheduler
.
Scheduler
this operator will usescheduler | the Scheduler to perform the call to dispose() of the upstream Disposable |
---|
Scheduler
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. 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
.resourceSupplier | the factory function to create a resource object that depends on the ObservableSource |
---|---|
sourceSupplier | the factory function to create an ObservableSource |
disposer | the function that will dispose of the resource |
eager | if true then disposal will happen either on a dispose() call or just before emission of
a terminal event (onComplete or onError ). |
Constructs an ObservableSource that creates a dependent resource object which is disposed of when the downstream calls dispose().
using
does not operate by default on a particular Scheduler
.resourceSupplier | the factory function to create a resource object that depends on the ObservableSource |
---|---|
sourceSupplier | the factory function to create an ObservableSource |
disposer | the function that will dispose of the resource |
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping windows. It emits the current window and opens a new one
whenever the ObservableSource produced by the specified closingIndicator
emits an item.
window
does not operate by default on a particular Scheduler
.boundary | a Callable that returns an ObservableSource that governs the boundary between windows.
When the source ObservableSource emits an item, window emits the current window and begins
a new one. |
---|
closingIndicator
emits an itemReturns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource starts a new window periodically, as determined by the timeskip
argument. It emits
each window after a fixed timespan, specified by the timespan
argument. When the source
ObservableSource completes or ObservableSource completes or encounters an error, the resulting ObservableSource emits the
current window and propagates the notification from the source ObservableSource.
Scheduler
this operator will usetimespan | the period of time each window collects items before it should be emitted |
---|---|
timeskip | the period of time after which a new window will be created |
unit | the unit of time that applies to the timespan and timeskip arguments |
scheduler | the Scheduler to use when determining the end and start of a window |
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping windows, each of a fixed duration specified by the
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 window and propagates the notification from the source ObservableSource.
Scheduler
this operator will usetimespan | the period of time each window collects items before it should be emitted and replaced with a new window |
---|---|
unit | the unit of time which applies to the timespan argument |
scheduler | the Scheduler to use when determining the end and start of a window |
count | the maximum size of each window before it should be emitted |
restart | if true, when a window reaches the capacity limit, the timer is restarted as well |
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.
window
does not operate by default on a particular Scheduler
.boundary | an ObservableSource whose emitted items close and open windows |
---|
boundary
ObservableSourceReturns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping windows, each of a fixed duration specified by the
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 window and propagates the notification from the source ObservableSource.
Scheduler
this operator will usetimespan | the period of time each window collects items before it should be emitted and replaced with a new window |
---|---|
unit | the unit of time which applies to the timespan argument |
scheduler | the Scheduler to use when determining the end and start of a window |
count | the maximum size of each window before it should be emitted |
restart | if true, when a window reaches the capacity limit, the timer is restarted as well |
bufferSize | the capacity hint for the buffer in the inner windows |
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping windows, each of a fixed duration as specified by the
timespan
argument. When the source ObservableSource completes or encounters an error, the resulting
ObservableSource emits the current window and propagates the notification from the source ObservableSource.
Scheduler
this operator will usetimespan | the period of time each window collects items before it should be emitted and replaced with a new window |
---|---|
unit | the unit of time which applies to the timespan argument |
scheduler | the Scheduler to use when determining the end and start of a window |
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.
window
does not operate by default on a particular Scheduler
.boundary | an ObservableSource whose emitted items close and open windows |
---|---|
bufferSize | the capacity hint for the buffer in the inner windows |
boundary
ObservableSourceReturns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource starts a new window periodically, as determined by the timeskip
argument. It emits
each window after a fixed timespan, specified by the timespan
argument. When the source
ObservableSource completes or ObservableSource completes or encounters an error, the resulting ObservableSource emits the
current window and propagates the notification from the source ObservableSource.
Scheduler
this operator will usetimespan | the period of time each window collects items before it should be emitted |
---|---|
timeskip | the period of time after which a new window will be created |
unit | the unit of time that applies to the timespan and timeskip arguments |
scheduler | the Scheduler to use when determining the end and start of a window |
bufferSize | the capacity hint for the buffer in the inner windows |
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping windows. It emits the current window and opens a new one
whenever the ObservableSource produced by the specified closingIndicator
emits an item.
window
does not operate by default on a particular Scheduler
.boundary | a Callable that returns an ObservableSource that governs the boundary between windows.
When the source ObservableSource emits an item, window emits the current window and begins
a new one. |
---|---|
bufferSize | the capacity hint for the buffer in the inner windows |
closingIndicator
emits an itemReturns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping windows, each containing count
items. When the source
ObservableSource completes or encounters an error, the resulting ObservableSource emits the current window and
propagates the notification from the source ObservableSource.
window
does not operate by default on a particular Scheduler
.count | the maximum size of each window before it should be emitted |
---|
count
items from the source ObservableSourceIllegalArgumentException | if either count is non-positive |
---|
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits windows every skip
items, each containing no more than count
items. When
the source ObservableSource completes or encounters an error, the resulting ObservableSource emits the current window
and propagates the notification from the source ObservableSource.
window
does not operate by default on a particular Scheduler
.count | the maximum size of each window before it should be emitted |
---|---|
skip | how many items need to be skipped before starting a new window. Note that if skip and
count are equal this is the same operation as window(long) . |
skip
items containing at most count
items
from the source ObservableSourceIllegalArgumentException | if either count or skip is non-positive |
---|
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits windows that contain those items emitted by the source ObservableSource between the time when
the openingIndicator
ObservableSource emits an item and when the ObservableSource returned by
closingIndicator
emits an item.
window
does not operate by default on a particular Scheduler
.openingIndicator | an ObservableSource that, when it emits an item, causes another window to be created |
---|---|
closingIndicator | a Function that produces an ObservableSource for every window created. When this ObservableSource
emits an item, the associated window is closed and emitted |
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource starts a new window periodically, as determined by the timeskip
argument. It emits
each window after a fixed timespan, specified by the timespan
argument. When the source
ObservableSource completes or ObservableSource completes or encounters an error, the resulting ObservableSource emits the
current window and propagates the notification from the source ObservableSource.
window
operates by default on the computation
Scheduler
.timespan | the period of time each window collects items before it should be emitted |
---|---|
timeskip | the period of time after which a new window will be created |
unit | the unit of time that applies to the timespan and timeskip arguments |
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits windows that contain those items emitted by the source ObservableSource between the time when
the openingIndicator
ObservableSource emits an item and when the ObservableSource returned by
closingIndicator
emits an item.
window
does not operate by default on a particular Scheduler
.openingIndicator | an ObservableSource that, when it emits an item, causes another window to be created |
---|---|
closingIndicator | a Function that produces an ObservableSource for every window created. When this ObservableSource
emits an item, the associated window is closed and emitted |
bufferSize | the capacity hint for the buffer in the inner windows |
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping windows, each of a fixed duration as specified by the
timespan
argument or a maximum size as specified by the count
argument (whichever is
reached first). When the source ObservableSource completes or encounters an error, the resulting ObservableSource
emits the current window and propagates the notification from the source ObservableSource.
window
operates by default on the computation
Scheduler
.timespan | the period of time each window collects items before it should be emitted and replaced with a new window |
---|---|
unit | the unit of time that applies to the timespan argument |
count | the maximum size of each window before it should be emitted |
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping windows, each of a fixed duration as specified by the
timespan
argument or a maximum size as specified by the count
argument (whichever is
reached first). When the source ObservableSource completes or encounters an error, the resulting ObservableSource
emits the current window and propagates the notification from the source ObservableSource.
window
operates by default on the computation
Scheduler
.timespan | the period of time each window collects items before it should be emitted and replaced with a new window |
---|---|
unit | the unit of time that applies to the timespan argument |
count | the maximum size of each window before it should be emitted |
restart | if true, when a window reaches the capacity limit, the timer is restarted as well |
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping windows, each of a fixed duration specified by the
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 window and propagates the notification from the source ObservableSource.
Scheduler
this operator will usetimespan | the period of time each window collects items before it should be emitted and replaced with a new window |
---|---|
unit | the unit of time which applies to the timespan argument |
scheduler | the Scheduler to use when determining the end and start of a window |
count | the maximum size of each window before it should be emitted |
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits connected, non-overlapping windows, each of a fixed duration specified by the
timespan
argument. When the source ObservableSource completes or encounters an error, the resulting
ObservableSource emits the current window and propagates the notification from the source ObservableSource.
window
operates by default on the computation
Scheduler
.timespan | the period of time each window collects items before it should be emitted and replaced with a new window |
---|---|
unit | the unit of time that applies to the timespan argument |
Returns an Observable that emits windows of items it collects from the source ObservableSource. The resulting
ObservableSource emits windows every skip
items, each containing no more than count
items. When
the source ObservableSource completes or encounters an error, the resulting ObservableSource emits the current window
and propagates the notification from the source ObservableSource.
window
does not operate by default on a particular Scheduler
.count | the maximum size of each window before it should be emitted |
---|---|
skip | how many items need to be skipped before starting a new window. Note that if skip and
count are equal this is the same operation as window(long) . |
bufferSize | the capacity hint for the buffer in the inner windows |
skip
items containing at most count
items
from the source ObservableSourceIllegalArgumentException | if either count or skip is non-positive |
---|
Combines the value emission from this ObservableSource with the latest emissions from the other ObservableSources via a function to produce the output item.
Note that this operator doesn't emit anything until all other sources have produced at least one value. The resulting emission only happens when this ObservableSource emits (and not when any of the other sources emit, unlike combineLatest). If a source doesn't produce any value and just completes, the sequence is completed immediately.
Scheduler
.others | the iterable of other sources |
---|---|
combiner | the function called with an array of values from each participating ObservableSource |
Combines the value emission from this ObservableSource with the latest emissions from the other ObservableSources via a function to produce the output item.
Note that this operator doesn't emit anything until all other sources have produced at least one value. The resulting emission only happens when this ObservableSource emits (and not when any of the other sources emit, unlike combineLatest). If a source doesn't produce any value and just completes, the sequence is completed immediately.
Scheduler
.o1 | the first other ObservableSource |
---|---|
o2 | the second other ObservableSource |
combiner | the function called with an array of values from each participating ObservableSource |
Combines the value emission from this ObservableSource with the latest emissions from the other ObservableSources via a function to produce the output item.
Note that this operator doesn't emit anything until all other sources have produced at least one value. The resulting emission only happens when this ObservableSource emits (and not when any of the other sources emit, unlike combineLatest). If a source doesn't produce any value and just completes, the sequence is completed immediately.
Scheduler
.o1 | the first other ObservableSource |
---|---|
o2 | the second other ObservableSource |
o3 | the third other ObservableSource |
o4 | the fourth other ObservableSource |
combiner | the function called with an array of values from each participating ObservableSource |
Merges the specified ObservableSource into this ObservableSource sequence by using the resultSelector
function only when the source ObservableSource (this instance) emits an item.
Scheduler
.other | the other ObservableSource |
---|---|
combiner | the function to call when this ObservableSource emits an item and the other ObservableSource has already emitted an item, to generate the item to be emitted by the resulting ObservableSource |
resultSelector
function only when the source ObservableSource sequence (this instance) emits an
itemCombines the value emission from this ObservableSource with the latest emissions from the other ObservableSources via a function to produce the output item.
Note that this operator doesn't emit anything until all other sources have produced at least one value. The resulting emission only happens when this ObservableSource emits (and not when any of the other sources emit, unlike combineLatest). If a source doesn't produce any value and just completes, the sequence is completed immediately.
Scheduler
.o1 | the first other ObservableSource |
---|---|
o2 | the second other ObservableSource |
o3 | the third other ObservableSource |
combiner | the function called with an array of values from each participating ObservableSource |
Combines the value emission from this ObservableSource with the latest emissions from the other ObservableSources via a function to produce the output item.
Note that this operator doesn't emit anything until all other sources have produced at least one value. The resulting emission only happens when this ObservableSource emits (and not when any of the other sources emit, unlike combineLatest). If a source doesn't produce any value and just completes, the sequence is completed immediately.
Scheduler
.others | the array of other sources |
---|---|
combiner | the function called with an array of values from each participating ObservableSource |
Wraps an ObservableSource into an Observable if not already an Observable.
wrap
does not operate by default on a particular Scheduler
.source | the source ObservableSource instance |
---|
NullPointerException | if source is null |
---|
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | a second source ObservableSource |
source3 | a third source ObservableSource |
source4 | a fourth source ObservableSource |
source5 | a fifth source ObservableSource |
source6 | a sixth source ObservableSource |
source7 | a seventh source ObservableSource |
zipper | 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 |
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.
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
.sources | an ObservableSource of source ObservableSources |
---|---|
zipper | 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 |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | a second source ObservableSource |
zipper | 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 |
delayError | delay errors from any of the source ObservableSources till the other terminates |
bufferSize | the number of elements to prefetch from each source ObservableSource |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | a second source ObservableSource |
source3 | a third source ObservableSource |
zipper | 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 |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | a second source ObservableSource |
zipper | 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 |
delayError | delay errors from any of the source ObservableSources till the other terminates |
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.
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
.sources | an Iterable of source ObservableSources |
---|---|
zipper | 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 |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | a second source ObservableSource |
source3 | a third source ObservableSource |
source4 | a fourth source ObservableSource |
source5 | a fifth source ObservableSource |
zipper | 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 |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | a second source ObservableSource |
zipper | 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 |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | a second source ObservableSource |
source3 | a third source ObservableSource |
source4 | a fourth source ObservableSource |
zipper | 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 |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | a second source ObservableSource |
source3 | a third source ObservableSource |
source4 | a fourth source ObservableSource |
source5 | a fifth source ObservableSource |
source6 | a sixth source ObservableSource |
zipper | 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 |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | a second source ObservableSource |
source3 | a third source ObservableSource |
source4 | a fourth source ObservableSource |
source5 | a fifth source ObservableSource |
source6 | a sixth source ObservableSource |
source7 | a seventh source ObservableSource |
source8 | an eighth source ObservableSource |
zipper | 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 |
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.
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
.source1 | the first source ObservableSource |
---|---|
source2 | a second source ObservableSource |
source3 | a third source ObservableSource |
source4 | a fourth source ObservableSource |
source5 | a fifth source ObservableSource |
source6 | a sixth source ObservableSource |
source7 | a seventh source ObservableSource |
source8 | an eighth source ObservableSource |
source9 | a ninth source ObservableSource |
zipper | 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 |
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.
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
.zipper | 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 |
---|---|
delayError | delay errors signalled by any of the source ObservableSource until all ObservableSources terminate |
bufferSize | the number of elements to prefetch from each source ObservableSource |
sources | an array of source ObservableSources |
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.
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
.sources | an Iterable of source ObservableSources |
---|---|
zipper | 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 |
delayError | delay errors signalled by any of the source ObservableSource until all ObservableSources terminate |
bufferSize | the number of elements to prefetch from each source ObservableSource |
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.
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:
range(1, 5).doOnComplete(action1).zipWith(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.
zipWith
does not operate by default on a particular Scheduler
.other | the other ObservableSource |
---|---|
zipper | a function that combines the pairs of items from the two ObservableSources to generate the items to be emitted by the resulting ObservableSource |
other
ObservableSource
and emits the results of zipFunction
applied to these pairsReturns 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.
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:
range(1, 5).doOnComplete(action1).zipWith(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.
zipWith
does not operate by default on a particular Scheduler
.other | the other ObservableSource |
---|---|
zipper | a function that combines the pairs of items from the two ObservableSources to generate the items to be emitted by the resulting ObservableSource |
delayError | if true, errors from the current Observable or the other ObservableSource is delayed until both terminate |
other
ObservableSource
and emits the results of zipFunction
applied to these pairsReturns 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.
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:
range(1, 5).doOnComplete(action1).zipWith(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.
zipWith
does not operate by default on a particular Scheduler
.other | the other ObservableSource |
---|---|
zipper | a function that combines the pairs of items from the two ObservableSources to generate the items to be emitted by the resulting ObservableSource |
delayError | if true, errors from the current Observable or the other ObservableSource is delayed until both terminate |
bufferSize | the capacity hint for the buffer in the inner windows |
other
ObservableSource
and emits the results of zipFunction
applied to these pairsReturns 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.
Note that the other
Iterable is evaluated as items are observed from the source ObservableSource; it is
not pre-consumed. This allows you to zip infinite streams on either side.
zipWith
does not operate by default on a particular Scheduler
.other | the Iterable sequence |
---|---|
zipper | a function that combines the pairs of items from the ObservableSource and the Iterable to generate the items to be emitted by the resulting ObservableSource |
other
Iterable
sequence and emits the results of zipFunction
applied to these pairsOperator implementations (both source and intermediate) should implement this method that performs the necessary business logic.
There is no need to call any of the plugin hooks on the current Observable instance or the Subscriber.
observer | the incoming Observer, never null |
---|