package Ġcom . ih f az h . abs ens iq r code . domains . students . use cases Ċ Ċ import ĠEvent . Student Ċ import Ġcom . ih f az h . abs ens iq r code . domains . students . repositories . I Student Repository Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . Flow able Ċ import Ġio . reactivex . Maybe Ċ Ċ class ĠStudent Interactor ( private Ġval Ġrepository : ĠI Student Repository ) Ġ: ĠStudent UseCase Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġadd ( student : ĠStudent ): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . add ( student ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete ( student : ĠStudent ): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . delete ( student ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlist () Ġ= Ġrepository . list () ĊĠĠĠ Ġoverride Ġfun Ġlist All (): ĠMaybe < List < Student >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . list All () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdetail ( student Id : ĠString ): ĠFlow able < Student > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . detail ( student Id ) ĊĠĠĠ Ġ} Ċ Ċ }