package Ġcom . dd ona . bank ing . domain . use case Ċ Ċ import Ġcom . dd ona . bank ing . domain . ent ites . Transaction Entity Ċ import Ġcom . dd ona . bank ing . domain . qual ifiers . Background Ċ import Ġcom . dd ona . bank ing . domain . qual ifiers . Foreground Ċ import Ġcom . dd ona . bank ing . domain . repository . Bank ing Repository Ċ import Ġcom . dd ona . bank ing . domain . use case . base . Observable UseCase Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Scheduler Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠGetUser Transactions Task Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġbank ing Repository : ĠBank ing Repository , ĊĠĠĠ Ġ@ Background Ġbackground Scheduler : ĠScheduler , ĊĠĠĠ Ġ@ Foreground Ġforeground Scheduler : ĠScheduler Ċ ) Ġ: ĠObservable UseCase < List < Transaction Entity >, ĠGetUser Transactions Task . Params >( ĊĠĠĠ Ġbackground Scheduler , ĊĠĠĠ Ġforeground Scheduler Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġgenerate Observable ( input : ĠParams ?): ĠObservable < List < Transaction Entity >> Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( input Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" GetUser Transactions Task Ġparameter Ġcan 't Ġbe Ġnull ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbank ing Repository . getUser Transactions ( input . identifier , Ġinput . limit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠParams ( val Ġidentifier : ĠString , Ġval Ġlimit : ĠInt ) Ċ }