package Ġcom . rio . core . data . x men . repository Ċ Ċ import Ġcom . rio . core . data . common . Cache Ċ import Ġcom . rio . core . data . common . Repository Ċ import Ġcom . rio . core . data . common . Service Ċ import Ġcom . rio . core . data . x men . entity . X men Data Ċ Ċ class ĠX men DataList Repository Impl < R >( ĊĠĠĠ Ġprivate Ġval Ġservice : ĠService < R , ĠList < X men Data >>, ĊĠĠĠ Ġprivate Ġval Ġcache : ĠCache < X men Data > Ċ ): ĠRepository < R , ĠList < X men Data >> Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget ( request : ĠR ?): ĠList < X men Data > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcached List Ġ= Ġcache . selectAll () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( cached List . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcached List ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġservice . execute ( request ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcache . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcache . bulk Insert ( list ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }