T - the type of items observed and emitted by the Subjectpublic final class PublishSubject<T> extends Subject<T,T>
Observer has subscribed, emits all subsequently observed items to the
subscriber.
Example usage:
PublishSubject<Object> subject = PublishSubject.create();
// observer1 will receive all onNext and onCompleted events
subject.subscribe(observer1);
subject.onNext("one");
subject.onNext("two");
// observer2 will only receive "three" and onCompleted
subject.subscribe(observer2);
subject.onNext("three");
subject.onCompleted();
Observable.OnSubscribe<T>, Observable.Operator<R,T>, Observable.Transformer<T,R>| Modifier | Constructor and Description |
|---|---|
protected |
PublishSubject(Observable.OnSubscribe<T> onSubscribe,
rx.subjects.SubjectSubscriptionManager<T> state) |
| Modifier and Type | Method and Description |
|---|---|
static <T> PublishSubject<T> |
create()
Creates and returns a new
PublishSubject. |
java.lang.Throwable |
getThrowable()
Returns the Throwable that terminated the Subject.
|
T |
getValue()
Returns the current or latest value of the Subject if there is such a value and
the subject hasn't terminated with an exception.
|
java.lang.Object[] |
getValues()
Returns a snapshot of the currently buffered non-terminal events.
|
T[] |
getValues(T[] a)
Returns a snapshot of the currently buffered non-terminal events into
the provided
a array or creates a new array if it has not enough capacity. |
boolean |
hasCompleted()
Check if the Subject has terminated normally.
|
boolean |
hasObservers()
|
boolean |
hasThrowable()
Check if the Subject has terminated with an exception.
|
boolean |
hasValue()
Check if the Subject has any value.
|
void |
onCompleted()
Notifies the Observer that the
Observable has finished sending push-based notifications. |
void |
onError(java.lang.Throwable e)
Notifies the Observer that the
Observable has experienced an error condition. |
void |
onNext(T v)
Provides the Observer with a new item to observe.
|
toSerializedall, 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, cast, collect, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, compose, concat, concat, concat, concat, concat, concat, concat, concat, concat, concatMap, concatWith, contains, count, countLong, create, debounce, debounce, debounce, defaultIfEmpty, defer, delay, delay, delay, delay, delaySubscription, delaySubscription, delaySubscription, dematerialize, distinct, distinct, distinctUntilChanged, distinctUntilChanged, 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, flatMapIterable, flatMapIterable, forEach, forEach, forEach, from, from, from, from, from, groupBy, groupBy, groupJoin, ignoreElements, 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, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeWith, nest, never, observeOn, ofType, onBackpressureBlock, onBackpressureBlock, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureDrop, onBackpressureDrop, onErrorResumeNext, onErrorResumeNext, onErrorReturn, onExceptionResumeNext, publish, publish, range, range, 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, switchOnNext, 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, toList, toMap, toMap, toMap, toMultimap, toMultimap, toMultimap, toMultimap, toSortedList, toSortedList, toSortedList, toSortedList, unsafeSubscribe, unsubscribeOn, using, using, window, window, window, window, window, window, window, window, window, window, window, window, withLatestFrom, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zipWith, zipWithprotected PublishSubject(Observable.OnSubscribe<T> onSubscribe, rx.subjects.SubjectSubscriptionManager<T> state)
public static <T> PublishSubject<T> create()
PublishSubject.T - the value typePublishSubjectpublic void onCompleted()
ObserverObservable has finished sending push-based notifications.
The Observable will not call this method if it calls Observer.onError(java.lang.Throwable).
public void onError(java.lang.Throwable e)
ObserverObservable has experienced an error condition.
If the Observable calls this method, it will not thereafter call Observer.onNext(T) or
Observer.onCompleted().
e - the exception encountered by the Observablepublic void onNext(T v)
Observer
The Observable may call this method 0 or more times.
The Observable will not call this method again after it calls either Observer.onCompleted() or
Observer.onError(java.lang.Throwable).
v - the item emitted by the Observablepublic boolean hasObservers()
SubjecthasObservers in class Subject<T,T>@Experimental public boolean hasThrowable()
hasThrowable in class Subject<T,T>onError.@Experimental public boolean hasCompleted()
hasCompleted in class Subject<T,T>onCompleted@Experimental public java.lang.Throwable getThrowable()
getThrowable in class Subject<T,T>null if the
subject hasn't terminated yet or it terminated normally.@Experimental public boolean hasValue()
SubjectUse the Subject.getValue() method to retrieve such a value.
Note that unless Subject.hasCompleted() or Subject.hasThrowable() returns true, the value
retrieved by getValue() may get outdated.
The operation is threadsafe.
@Experimental public T getValue()
SubjectThe method can return null for various reasons. Use Subject.hasValue(), Subject.hasThrowable()
and Subject.hasCompleted() to determine if such null is a valid value, there was an
exception or the Subject terminated without receiving any value.
The operation is threadsafe.
@Experimental public java.lang.Object[] getValues()
SubjectThe operation is threadsafe.
@Experimental public T[] getValues(T[] a)
Subjecta array or creates a new array if it has not enough capacity.
If the subject's values fit in the specified array with room to spare
(i.e., the array has more elements than the list), the element in
the array immediately following the end of the subject's values is set to
null.
The operation is threadsafe.