package Ġcom . j aa . library . domain . use Cases Ċ Ċ import Ġcom . j aa . library . domain . repository . film Detail . Film Detail Repository Interface Ċ import Ġdev . icer ock . mo ko . network . generated . models . Film Data Ċ Ċ class ĠGet Film Detail UseCase ( ĊĠĠĠ Ġprivate Ġval Ġfilm Detail Repository Ġ: ĠFil m Detail Repository Interface Ċ ) Ġ{ ĊĠĠĠ Ġinterface ĠGet Film Detail Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonSuccess ( film : ĠFil m Data ) ĊĠĠĠĠĠĠĠ Ġfun ĠonError () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġexecute ( title : String , Ġlistener : Get Film Detail Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfilm Ġ= Ġfilm Detail Repository . get Film ( title ) ĊĠĠĠĠĠĠĠ Ġif ( film Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Success ( film ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . onError () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }