package Ġcom . che ise _ proj . domain . rx Ċ Ċ import Ġcom . che ise _ proj . domain . use case . base . Base UseCase Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Scheduler Ċ Ċ /** Ċ Ġ* ĠThe ĠObservable UseCase Ġabstract Ġclass Ġimplements ĠBase UseCase Ċ Ġ* which Ġsub scri bes Ġto Ġthe Ġuse Ġcase Ġclasses Ċ Ġ* Ġ@ param ĠParams Ġany Ċ Ġ* Ġ@ param ĠT Ġany Ċ Ġ* Ċ Ġ* Ċ Ġ* Ġ@ param Ġbackground Scheduler ĠRx Java ĠS chedulers Ċ Ġ* Ġ@ param Ġforeground Scheduler ĠRx Java ĠS chedulers Ċ Ġ*/ Ċ abstract Ġclass ĠObservable UseCase < in ĠParams , ĠT >( ĊĠĠĠ Ġbackground Scheduler : ĠScheduler , ĊĠĠĠ Ġforeground Scheduler : ĠScheduler Ċ ) Ġ: ĊĠĠĠ ĠBase UseCase ( background Scheduler , Ġforeground Scheduler ) Ġ{ ĊĠĠĠ Ġprotected Ġabstract Ġfun Ġgenerate Observable ( input : ĠParams ?): ĠObservable < T > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġbuild UseCase Ġsub scri bes Ġto Ġthe Ġobservable Ġtype ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġinput ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbuild UseCase ( input : ĠParams ? Ġ= Ġnull ): ĠObservable < T > Ġ= Ġgenerate Observable ( input ) ĊĠĠĠĠĠĠĠ Ġ. subscribe On ( background Scheduler ) ĊĠĠĠĠĠĠĠ Ġ. observe On ( foreground Scheduler ) Ċ Ċ }