public class FlowableUseCase<ARGS,T> extends BaseUseCase
Base use case which wraps Flowable. Instance of this
use case can be simply executed in cooperation with
interface FlowableDisposablesOwner 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 |
|---|
FlowableUseCase()
Base use case which wraps Flowable. Instance of this
use case can be simply executed in cooperation with
interface FlowableDisposablesOwner interface. |
| Modifier and Type | Method and Description |
|---|---|
io.reactivex.Flowable<T> |
create(ARGS args)
Creates internal Flowable Rx stream, applies requested work
& result schedulers and exposes this stream as a Flowable. This method
is handy when you want to combine streams of multiple use cases.
For example:
|
protected io.reactivex.Flowable<T> |
prepare(ARGS args)
Prepares whole wrapped Flowable Rx stream. This method does not
subscribe to the stream.
|
getResultScheduler, getWorkSchedulerpublic FlowableUseCase()
Base use case which wraps Flowable. Instance of this
use case can be simply executed in cooperation with
interface FlowableDisposablesOwner 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.Flowable<T> prepare(ARGS args)
Prepares whole wrapped Flowable Rx stream. This method does not subscribe to the stream.
@NotNull public io.reactivex.Flowable<T> create(ARGS args)
Creates internal Flowable Rx stream, applies requested work & result schedulers and exposes this stream as a Flowable. This method is handy when you want to combine streams of multiple use cases. For example:
usecase_A.create(Unit).flatMap { usecase_B.create(Unit) }