Package hu.akarnokd.rxjava3.subjects
Class DispatchWorkSubject<T>
- java.lang.Object
-
- io.reactivex.rxjava3.core.Observable<T>
-
- io.reactivex.rxjava3.subjects.Subject<T>
-
- hu.akarnokd.rxjava3.subjects.DispatchWorkSubject<T>
-
- Type Parameters:
T- the input and output value type
- All Implemented Interfaces:
ObservableSource<T>,Observer<T>,Disposable
public final class DispatchWorkSubject<T> extends Subject<T> implements Disposable
ASubjectvariant that queues up items and dispatches them asynchronously so that one of the currently subscribedObservers can pick it up one by one, otherwise* cache it until at least anObserversubscribes.- Since:
- 0.18.8
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> DispatchWorkSubject<T>create(Scheduler scheduler)Create an emptyDispatchWorkSubjectinstance with the given scheduler, default capacity hint (Flowable.bufferSize(), expected number of items cached until consumption) and delaying errors.static <T> DispatchWorkSubject<T>create(Scheduler scheduler, boolean delayErrors)Create an emptyDispatchWorkSubjectinstance with the given scheduler, default capacity hint (Flowable.bufferSize(), expected number of items cached until consumption) and if an error should be delayed.static <T> DispatchWorkSubject<T>create(Scheduler scheduler, int capacityHint)Create an emptyDispatchWorkSubjectinstance with the given scheduler, capacity hint (expected number of items cached until consumption) and delaying errors.static <T> DispatchWorkSubject<T>create(Scheduler scheduler, int capacityHint, boolean delayErrors)Create an emptyDispatchWorkSubjectinstance with the given scheduler, capacity hint (expected number of items cached until consumption) and if an error should be delayed.voiddispose()java.lang.ThrowablegetThrowable()booleanhasComplete()booleanhasObservers()booleanhasThrowable()booleanisDisposed()voidonComplete()voidonError(java.lang.Throwable e)voidonNext(T t)voidonSubscribe(Disposable d)protected voidsubscribeActual(Observer<? super T> observer)-
Methods inherited from class io.reactivex.rxjava3.subjects.Subject
toSerialized
-
Methods inherited from class io.reactivex.rxjava3.core.Observable
all, amb, ambArray, ambWith, any, blockingFirst, blockingFirst, blockingForEach, blockingForEach, blockingIterable, blockingIterable, blockingLast, blockingLast, blockingLatest, blockingMostRecent, blockingNext, blockingSingle, blockingSingle, blockingStream, blockingStream, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, bufferSize, cache, cacheWithInitialCapacity, cast, collect, collect, collectInto, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatestArray, combineLatestArray, combineLatestArrayDelayError, combineLatestArrayDelayError, combineLatestDelayError, combineLatestDelayError, compose, concat, concat, concat, concat, concat, concat, concatArray, concatArrayDelayError, concatArrayEager, concatArrayEager, concatArrayEagerDelayError, concatArrayEagerDelayError, concatDelayError, concatDelayError, concatDelayError, concatEager, concatEager, concatEager, concatEager, concatEagerDelayError, concatEagerDelayError, concatEagerDelayError, concatEagerDelayError, concatMap, concatMap, concatMap, concatMapCompletable, concatMapCompletable, concatMapCompletableDelayError, concatMapCompletableDelayError, concatMapCompletableDelayError, concatMapDelayError, concatMapDelayError, concatMapDelayError, concatMapEager, concatMapEager, concatMapEagerDelayError, concatMapEagerDelayError, concatMapIterable, concatMapMaybe, concatMapMaybe, concatMapMaybeDelayError, concatMapMaybeDelayError, concatMapMaybeDelayError, concatMapSingle, concatMapSingle, concatMapSingleDelayError, concatMapSingleDelayError, concatMapSingleDelayError, concatMapStream, concatWith, concatWith, concatWith, concatWith, contains, count, create, debounce, debounce, debounce, defaultIfEmpty, defer, delay, delay, delay, delay, delay, delay, delaySubscription, delaySubscription, delaySubscription, dematerialize, distinct, distinct, distinct, distinctUntilChanged, distinctUntilChanged, distinctUntilChanged, doAfterNext, doAfterTerminate, doFinally, doOnComplete, doOnDispose, doOnEach, doOnEach, doOnError, doOnLifecycle, doOnNext, doOnSubscribe, doOnTerminate, elementAt, elementAt, elementAtOrError, empty, error, error, filter, first, firstElement, firstOrError, firstOrErrorStage, firstStage, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMapCompletable, flatMapCompletable, flatMapIterable, flatMapIterable, flatMapMaybe, flatMapMaybe, flatMapSingle, flatMapSingle, flatMapStream, forEach, forEachWhile, forEachWhile, forEachWhile, fromAction, fromArray, fromCallable, fromCompletable, fromCompletionStage, fromFuture, fromFuture, fromIterable, fromMaybe, fromOptional, fromPublisher, fromRunnable, fromSingle, fromStream, fromSupplier, generate, generate, generate, generate, generate, groupBy, groupBy, groupBy, groupBy, groupBy, groupJoin, hide, ignoreElements, interval, interval, interval, interval, intervalRange, intervalRange, isEmpty, join, just, just, just, just, just, just, just, just, just, just, last, lastElement, lastOrError, lastOrErrorStage, lastStage, lift, map, mapOptional, materialize, merge, merge, merge, merge, merge, merge, merge, merge, mergeArray, mergeArray, mergeArrayDelayError, mergeArrayDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeWith, mergeWith, mergeWith, mergeWith, never, observeOn, observeOn, observeOn, ofType, onErrorComplete, onErrorComplete, onErrorResumeNext, onErrorResumeWith, onErrorReturn, onErrorReturnItem, onTerminateDetach, publish, publish, range, rangeLong, reduce, reduce, reduceWith, repeat, repeat, repeatUntil, repeatWhen, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, retry, retry, retry, retry, retry, retryUntil, retryWhen, safeSubscribe, sample, sample, sample, sample, sample, sample, scan, scan, scanWith, sequenceEqual, sequenceEqual, sequenceEqual, sequenceEqual, serialize, share, single, singleElement, singleOrError, singleOrErrorStage, singleStage, skip, skip, skip, skipLast, skipLast, skipLast, skipLast, skipLast, skipLast, skipUntil, skipWhile, sorted, sorted, startWith, startWith, startWith, startWith, startWithArray, startWithItem, startWithIterable, subscribe, subscribe, subscribe, subscribe, subscribe, subscribeOn, subscribeWith, switchIfEmpty, switchMap, switchMap, switchMapCompletable, switchMapCompletableDelayError, switchMapDelayError, switchMapDelayError, switchMapMaybe, switchMapMaybeDelayError, switchMapSingle, switchMapSingleDelayError, switchOnNext, switchOnNext, switchOnNextDelayError, switchOnNextDelayError, take, take, take, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeUntil, takeUntil, takeWhile, test, test, throttleFirst, throttleFirst, throttleLast, throttleLast, throttleLatest, throttleLatest, throttleLatest, throttleLatest, throttleWithTimeout, throttleWithTimeout, timeInterval, timeInterval, timeInterval, timeInterval, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timer, timer, timestamp, timestamp, timestamp, timestamp, to, toFlowable, toFuture, toList, toList, toList, toMap, toMap, toMap, toMultimap, toMultimap, toMultimap, toMultimap, toSortedList, toSortedList, toSortedList, toSortedList, unsafeCreate, unsubscribeOn, using, using, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, wrap, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zipArray, zipWith, zipWith, zipWith, zipWith
-
-
-
-
Method Detail
-
create
public static <T> DispatchWorkSubject<T> create(Scheduler scheduler)
Create an emptyDispatchWorkSubjectinstance with the given scheduler, default capacity hint (Flowable.bufferSize(), expected number of items cached until consumption) and delaying errors.- Type Parameters:
T- the input and output value type- Parameters:
scheduler- the scheduler to use for theObservers to be notified on- Returns:
- the new DispatchWorkSubject instance
-
create
public static <T> DispatchWorkSubject<T> create(Scheduler scheduler, int capacityHint)
Create an emptyDispatchWorkSubjectinstance with the given scheduler, capacity hint (expected number of items cached until consumption) and delaying errors.- Type Parameters:
T- the input and output value type- Parameters:
scheduler- the scheduler to use for theObservers to be notified oncapacityHint- the expected number of items to be cached until consumption- Returns:
- the new DispatchWorkSubject instance
-
create
public static <T> DispatchWorkSubject<T> create(Scheduler scheduler, boolean delayErrors)
Create an emptyDispatchWorkSubjectinstance with the given scheduler, default capacity hint (Flowable.bufferSize(), expected number of items cached until consumption) and if an error should be delayed.- Type Parameters:
T- the input and output value type- Parameters:
scheduler- the scheduler to use for theObservers to be notified ondelayErrors- if true, errors are delivered after items have been consumed- Returns:
- the new DispatchWorkSubject instance
-
create
public static <T> DispatchWorkSubject<T> create(Scheduler scheduler, int capacityHint, boolean delayErrors)
Create an emptyDispatchWorkSubjectinstance with the given scheduler, capacity hint (expected number of items cached until consumption) and if an error should be delayed.- Type Parameters:
T- the input and output value type- Parameters:
scheduler- the scheduler to use for theObservers to be notified oncapacityHint- the expected number of items to be cached until consumptiondelayErrors- if true, errors are delivered after items have been consumed- Returns:
- the new DispatchWorkSubject instance
-
onSubscribe
public void onSubscribe(Disposable d)
- Specified by:
onSubscribein interfaceObserver<T>
-
onComplete
public void onComplete()
- Specified by:
onCompletein interfaceObserver<T>
-
subscribeActual
protected void subscribeActual(Observer<? super T> observer)
- Specified by:
subscribeActualin classObservable<T>
-
dispose
public void dispose()
- Specified by:
disposein interfaceDisposable
-
isDisposed
public boolean isDisposed()
- Specified by:
isDisposedin interfaceDisposable
-
hasComplete
public boolean hasComplete()
- Specified by:
hasCompletein classSubject<T>
-
hasThrowable
public boolean hasThrowable()
- Specified by:
hasThrowablein classSubject<T>
-
getThrowable
public java.lang.Throwable getThrowable()
- Specified by:
getThrowablein classSubject<T>
-
hasObservers
public boolean hasObservers()
- Specified by:
hasObserversin classSubject<T>
-
-