public class SingleUseCase<ARGS,T> extends BaseUseCase
Base use case which wraps Single. Instance of this
use case can be simply executed in cooperation with
interface SingleDisposablesOwner interface.
Wrapped stream is subscribed on io.reactivex.schedulers.Schedulers.io and
observed on io.reactivex.android.schedulers.AndroidSchedulers.mainThread
by default. You may override these through workScheduler and
resultScheduler respectively.
| Constructor and Description |
|---|
SingleUseCase()
Base use case which wraps Single. Instance of this
use case can be simply executed in cooperation with
interface SingleDisposablesOwner interface. |
| Modifier and Type | Method and Description |
|---|---|
io.reactivex.Single<T> |
create(ARGS args)
Creates internal Single Rx stream, applies requested work
& result schedulers and exposes this stream as a Single. This method
is handy when you want to combine streams of multiple use cases.
For example:
|
protected io.reactivex.Single<T> |
prepare(ARGS args)
Prepares whole wrapped Single Rx stream. This method does not
subscribe to the stream.
|
getResultScheduler, getWorkSchedulerpublic SingleUseCase()
Base use case which wraps Single. Instance of this
use case can be simply executed in cooperation with
interface SingleDisposablesOwner interface.
Wrapped stream is subscribed on io.reactivex.schedulers.Schedulers.io and
observed on io.reactivex.android.schedulers.AndroidSchedulers.mainThread
by default. You may override these through workScheduler and
resultScheduler respectively.
@NotNull protected io.reactivex.Single<T> prepare(ARGS args)
Prepares whole wrapped Single Rx stream. This method does not subscribe to the stream.
@NotNull public io.reactivex.Single<T> create(ARGS args)
Creates internal Single Rx stream, applies requested work & result schedulers and exposes this stream as a Single. This method is handy when you want to combine streams of multiple use cases. For example:
usecase_A.create().flatMap { usecase_B.create() }