T - the type of item expected to be observed by the Subject
public final class BehaviorSubject<T> extends Subject<T ,T>
Observer.
Example usage:
// observer will receive all events. BehaviorSubject<Object> subject = BehaviorSubject.create("default"); subject.subscribe(observer); subject.onNext("one"); subject.onNext("two"); subject.onNext("three"); // observer will receive the "one", "two" and "three" events, but not "zero" BehaviorSubject<Object> subject = BehaviorSubject.create("default"); subject.onNext("zero"); subject.onNext("one"); subject.subscribe(observer); subject.onNext("two"); subject.onNext("three"); // observer will receive only onCompleted BehaviorSubject<Object> subject = BehaviorSubject.create("default"); subject.onNext("zero"); subject.onNext("one"); subject.onCompleted(); subject.subscribe(observer); // observer will receive only onError BehaviorSubject<Object> subject = BehaviorSubject.create("default"); subject.onNext("zero"); subject.onNext("one"); subject.onError(new RuntimeException("error")); subject.subscribe(observer);
Observable.OnSubscribe <T>, Observable.Operator <R,T>, Observable.Transformer <T,R> | Modifier | Constructor and Description |
|---|---|
protected |
BehaviorSubject(Observable
|
| Modifier and Type | Method and Description |
|---|---|
static <T> BehaviorSubject |
create()
Creates a
BehaviorSubject without a default item.
|
static <T> BehaviorSubject |
create(T defaultValue)
Creates a
BehaviorSubject that emits the last item it observed and all subsequent items to each
Observer that subscribes to it.
|
Throwable |
getThrowable()
Returns the Throwable that terminated the Subject.
|
T |
getValue()
Returns the current value of the Subject if there is such a value and the subject hasn't terminated yet.
|
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 a value.
|
void |
onCompleted()
Notifies the Observer that the
Observable has finished sending push-based notifications.
|
void |
onError(Throwable
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, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatMap, concatMapEager, concatMapEager, concatWith, contains, count, countLong, 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, extend, filter, finallyDo, first, first, firstOrDefault, firstOrDefault, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMapIterable, flatMapIterable, forEach, forEach, forEach, from, from, from, from, from, fromCallable, 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, mergeWith, nest, never, observeOn, ofType, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureDrop, onBackpressureDrop, onBackpressureLatest, 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, toSingle, 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 BehaviorSubject(Observable.OnSubscribe <T> onSubscribe, rx .subjects .SubjectSubscriptionManager <T> state)
public static <T> BehaviorSubject<T> create()
BehaviorSubject without a default item.
T - the type of item the Subject will emit
BehaviorSubject
public static <T> BehaviorSubject<T> create(T defaultValue)
BehaviorSubject that emits the last item it observed and all subsequent items to each
Observer that subscribes to it.
T - the type of item the Subject will emit
defaultValue - the item that will be emitted first to any
Observer as long as the
BehaviorSubject has not yet observed any items from its source
Observable
BehaviorSubject
public void onCompleted()
Observer
Observable has finished sending push-based notifications.
The Observable will not call this method if it calls Observer.
public void onError(Throwablee)
Observer
Observable has experienced an error condition.
If the Observable calls this method, it will not thereafter call Observer or Observer.
e - the exception encountered by the Observable
public 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 or Observer.
v - the item emitted by the Observable
public boolean hasObservers()
Subject
hasObservers in class
Subject<T,T>
@Beta public boolean hasValue()
Use the getValue() method to retrieve such a value.
Note that unless hasCompleted() or hasThrowable() returns true, the value retrieved by getValue() may get outdated.
@Beta public boolean hasThrowable()
onError.
@Beta public boolean hasCompleted()
onCompleted()
@Beta public T getValue()
The method can return null for various reasons. Use hasValue(), hasThrowable() and hasCompleted() to determine if such null is a valid value, there was an exception or the Subject terminated (with or without receiving any value).
null if the Subject doesn't have a value, has terminated or has an actual
null as a valid value.
@Beta public ThrowablegetThrowable()
null if the subject hasn't terminated yet or it terminated normally.
@Beta public T[] getValues(T[] a)
a array or creates a new array if it has not enough capacity.
a - the array to fill in
a if it had enough capacity or a new array containing the available values
@Beta public Object[] getValues()
The operation is threadsafe.