Class AsyncSubject<T>
- Type Parameters:
T
- the type of item expected to be observed by the Subject
- All Implemented Interfaces:
Observer<T>
Observer
once the source Observable
has completed. The item is cached and published to any Observer
s which subscribe after the source
has completed. If the source emitted no items, AsyncSubject
completes without emitting anything.
If the source terminated in an error, current and future subscribers will receive only the error.
Example usage:
// observer will receive no onNext events because the subject.onCompleted() isn't called.
AsyncSubject<Object> subject = AsyncSubject.create();
subject.subscribe(observer);
subject.onNext("one");
subject.onNext("two");
subject.onNext("three");
// observer will receive "three" as the only onNext event.
AsyncSubject<Object> subject = AsyncSubject.create();
subject.subscribe(observer);
subject.onNext("one");
subject.onNext("two");
subject.onNext("three");
subject.onCompleted();
-
Nested Class Summary
Nested classes/interfaces inherited from class rx.Observable
Observable.OnSubscribe<T>, Observable.Operator<R,
T>, Observable.Transformer<T, R> -
Field Summary
FieldsModifier and TypeFieldDescription(package private) Object
private final NotificationLite
<T> (package private) final SubjectSubscriptionManager
<T> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AsyncSubject
(Observable.OnSubscribe<T> onSubscribe, SubjectSubscriptionManager<T> state) -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> AsyncSubject
<T> create()
Creates and returns a newAsyncSubject
.Returns the Throwable that terminated the Subject.getValue()
Returns the current value of the Subject if there is such a value and the subject hasn't terminated with an exception.boolean
Check if the Subject has terminated normally.boolean
boolean
Check if the Subject has terminated with an exception.boolean
hasValue()
Check if the Subject has a value.void
Notifies the Observer that theObservable
has finished sending push-based notifications.void
Notifies the Observer that theObservable
has experienced an error condition.void
Provides the Observer with a new item to observe.Methods inherited from class rx.subjects.Subject
toSerialized
Methods inherited from class rx.Observable
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, 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, 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, extend, filter, finallyDo, first, first, firstOrDefault, firstOrDefault, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMapIterable, flatMapIterable, flatMapIterable, flatMapIterable, forEach, forEach, forEach, from, from, from, from, from, fromAsync, fromCallable, 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, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, subscribe, subscribe, subscribe, subscribe, subscribe, subscribe, subscribeOn, switchIfEmpty, switchMap, switchMapDelayError, switchOnNext, switchOnNextDelayError, take, take, take, takeFirst, takeLast, takeLast, takeLast, takeLast, takeLast, takeLastBuffer, takeLastBuffer, takeLastBuffer, takeLastBuffer, takeLastBuffer, takeUntil, takeUntil, takeWhile, throttleFirst, throttleFirst, throttleLast, throttleLast, throttleWithTimeout, throttleWithTimeout, timeInterval, timeInterval, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timer, timer, timer, timer, timestamp, timestamp, toBlocking, toCompletable, toList, toMap, toMap, toMap, toMultimap, toMultimap, toMultimap, toMultimap, toSingle, toSortedList, toSortedList, toSortedList, toSortedList, 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
-
Field Details
-
state
-
lastValue
-
nl
-
-
Constructor Details
-
AsyncSubject
-
-
Method Details
-
create
Creates and returns a newAsyncSubject
.- Type Parameters:
T
- the result value type- Returns:
- the new
AsyncSubject
-
onCompleted
public void onCompleted()Description copied from interface:Observer
Notifies the Observer that theObservable
has finished sending push-based notifications.The
Observable
will not call this method if it callsObserver.onError(java.lang.Throwable)
. -
onError
Description copied from interface:Observer
Notifies the Observer that theObservable
has experienced an error condition.If the
Observable
calls this method, it will not thereafter callObserver.onNext(T)
orObserver.onCompleted()
.- Parameters:
e
- the exception encountered by the Observable
-
onNext
Description copied from interface:Observer
Provides the Observer with a new item to observe.The
Observable
may call this method 0 or more times.The
Observable
will not call this method again after it calls eitherObserver.onCompleted()
orObserver.onError(java.lang.Throwable)
.- Parameters:
v
- the item emitted by the Observable
-
hasObservers
public boolean hasObservers()Description copied from class:Subject
- Specified by:
hasObservers
in classSubject<T,
T> - Returns:
- true if there is at least one Observer subscribed to this Subject, false otherwise
-
hasValue
Check if the Subject has a value.Use the
getValue()
method to retrieve such a value.Note that unless
hasCompleted()
orhasThrowable()
returns true, the value retrieved bygetValue()
may get outdated.- Returns:
- true if and only if the subject has some value but not an error
-
hasThrowable
Check if the Subject has terminated with an exception.- Returns:
- true if the subject has received a throwable through
onError
.
-
hasCompleted
Check if the Subject has terminated normally.- Returns:
- true if the subject completed normally via
onCompleted()
-
getValue
Returns the current value of the Subject if there is such a value and the subject hasn't terminated with an exception.The method can return
null
for various reasons. UsehasValue()
,hasThrowable()
andhasCompleted()
to determine if suchnull
is a valid value, there was an exception or the Subject terminated without receiving any value.- Returns:
- the current value or
null
if the Subject doesn't have a value, has terminated with an exception or has an actualnull
as a value.
-
getThrowable
Returns the Throwable that terminated the Subject.- Returns:
- the Throwable that terminated the Subject or
null
if the subject hasn't terminated yet or it terminated normally.
-