package Ġsample . books . domain Ċ Ċ import Ġsample . base . domain . Flow able UseCase Ċ import Ġio . reactivex . Flow able Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠUse Ġcase Ġfor Ġgetting Ġbooks . Ċ Ġ*/ Ċ interface ĠGet Books UseCase Ġ: ĠFlow able UseCase < Unit , ĠList < Book >> Ċ Ċ /** Ċ Ġ* ĠImplementation Ġof Ġ[ Get Books UseCase ] Ġthat Ġgets Ġbooks Ġusing Ġ[ Books Repository ]. Ċ Ġ*/ Ċ class ĠGet Books UseCase Impl Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġbooks Repository : ĠBooks Repository Ċ ) Ġ: ĠGet Books UseCase Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġinvoke ( input : ĠUnit ): ĠFlow able < List < Book >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbooks Repository . get Books () ĊĠĠĠ Ġ} Ċ }