K
- the type of the keyT
- the type of the items emitted by the GroupedObservable
public class GroupedObservable<K,T> extends Observable<T>
Observable
that has been grouped by key, the value of which can be obtained with getKey()
.
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
GroupedObservable
s that do not concern you. Instead, you can signal to them that they
may discard their buffers by applying an operator like take
(0)
to them.
Observable.OnSubscribe<T>, Observable.Operator<R,T>, Observable.Transformer<T,R>
Modifier | Constructor and Description |
---|---|
protected |
GroupedObservable(K key,
Observable.OnSubscribe<T> onSubscribe) |
Modifier and Type | Method and Description |
---|---|
static <K,T> GroupedObservable<K,T> |
create(K key,
Observable.OnSubscribe<T> f)
Returns an Observable that will execute the specified function when a
Subscriber subscribes to
it. |
static <K,T> GroupedObservable<K,T> |
from(K key,
Observable<T> o)
Converts an
Observable into a GroupedObservable with a particular key. |
K |
getKey()
Returns the key that identifies the group of items emitted by this
GroupedObservable |
all, amb, amb, amb, amb, amb, amb, amb, amb, amb, ambWith, asObservable, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, cache, cache, cacheWithInitialCapacity, cast, collect, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatestDelayError, compose, concat, concat, concat, concat, concat, concat, concat, concat, concat, concat, concatDelayError, concatDelayError, concatDelayError, concatDelayError, concatDelayError, concatDelayError, concatDelayError, concatDelayError, concatDelayError, concatDelayError, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatMap, concatMapDelayError, concatMapEager, concatMapEager, concatMapEager, concatMapIterable, concatWith, contains, count, countLong, create, create, create, create, debounce, debounce, debounce, defaultIfEmpty, defer, delay, delay, delay, delay, delaySubscription, delaySubscription, delaySubscription, delaySubscription, dematerialize, distinct, distinct, distinctUntilChanged, distinctUntilChanged, distinctUntilChanged, doAfterTerminate, doOnCompleted, doOnEach, doOnEach, doOnError, doOnNext, doOnRequest, doOnSubscribe, doOnTerminate, doOnUnsubscribe, elementAt, elementAtOrDefault, empty, error, exists, filter, finallyDo, first, first, firstOrDefault, firstOrDefault, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMapCompletable, flatMapCompletable, flatMapCompletable, flatMapIterable, flatMapIterable, flatMapIterable, flatMapIterable, flatMapSingle, flatMapSingle, flatMapSingle, forEach, forEach, forEach, from, from, from, from, from, fromCallable, groupBy, groupBy, groupBy, groupBy, groupJoin, ignoreElements, interval, interval, interval, interval, isEmpty, join, just, just, just, just, just, just, just, just, just, just, last, last, lastOrDefault, lastOrDefault, lift, limit, map, materialize, merge, merge, merge, merge, merge, merge, merge, merge, merge, merge, merge, merge, merge, merge, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeWith, nest, never, observeOn, observeOn, observeOn, observeOn, ofType, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureDrop, onBackpressureDrop, onBackpressureLatest, onErrorResumeNext, onErrorResumeNext, onErrorReturn, onExceptionResumeNext, onTerminateDetach, publish, publish, range, range, rebatchRequests, reduce, reduce, repeat, repeat, repeat, repeat, repeatWhen, repeatWhen, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, retry, retry, retry, retryWhen, retryWhen, sample, sample, sample, scan, scan, sequenceEqual, sequenceEqual, serialize, share, single, single, singleOrDefault, singleOrDefault, skip, skip, skip, skipLast, skipLast, skipLast, skipUntil, skipWhile, sorted, sorted, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, subscribe, subscribe, subscribe, subscribe, subscribe, subscribe, subscribeOn, subscribeOn, switchIfEmpty, switchMap, switchMapDelayError, switchOnNext, switchOnNextDelayError, take, take, take, takeFirst, takeLast, takeLast, takeLast, takeLast, takeLast, takeLastBuffer, takeLastBuffer, takeLastBuffer, takeLastBuffer, takeLastBuffer, takeUntil, takeUntil, takeWhile, test, test, throttleFirst, throttleFirst, throttleLast, throttleLast, throttleWithTimeout, throttleWithTimeout, timeInterval, timeInterval, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timer, timer, timer, timer, timestamp, timestamp, to, toBlocking, toCompletable, toList, toMap, toMap, toMap, toMultimap, toMultimap, toMultimap, toMultimap, toSingle, toSortedList, toSortedList, toSortedList, toSortedList, unsafeCreate, unsafeSubscribe, unsubscribeOn, using, using, window, window, window, window, window, window, window, window, window, window, window, window, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zipWith, zipWith
protected GroupedObservable(K key, Observable.OnSubscribe<T> onSubscribe)
public static <K,T> GroupedObservable<K,T> from(K key, Observable<T> o)
Observable
into a GroupedObservable
with a particular key.K
- the key typeT
- the value typekey
- the key to identify the group of items emitted by this GroupedObservable
o
- the Observable
to convertGroupedObservable
representation of o
, with key key
public static <K,T> GroupedObservable<K,T> create(K key, Observable.OnSubscribe<T> f)
Subscriber
subscribes to
it.
Write the function you pass to create
so that it behaves as an Observable: It should invoke the
Subscriber's onNext
, onError
, and onCompleted
methods appropriately.
A well-formed Observable must invoke either the Subscriber's onCompleted
method exactly once or
its onError
method exactly once.
See Rx Design Guidelines (PDF) for detailed information.
create
does not operate by default on a particular Scheduler
.K
- the type of the keyT
- the type of the items that this Observable emitskey
- the key valuef
- a function that accepts an Subscriber<T>
, and invokes its onNext
, onError
, and onCompleted
methods as appropriateSubscriber
subscribes to it, will execute the specified
functionpublic K getKey()
GroupedObservable
GroupedObservable
were grouped by