package Ġio . github . del r 3 ves . todo . business . dao Ċ Ċ import Ġio . github . del r 3 ves . todo . business . model . TODO List Ċ import Ġio . github . del r 3 ves . todo . business . model . User Ċ import Ġjava . util .* Ċ Ċ class ĠIn Memory TODO List Dao ( val Ġuser : ĠUser ) Ġ: ĠTODO List Dao Ġ{ ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject ĠIn Memory Storage Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġin Memory Storage : ĠMutable Map < User , ĠMutable Map < Long , ĠTODO List >> Ġ= ĠHashMap () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ( list : ĠTODO List ): ĠTODO List Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġby User Ġ= Ġin Memory Storage . get Or Put ( user ) Ġ{ ĠHashMap () Ġ} ĊĠĠĠĠĠĠĠ Ġby User . put ( list . id , Ġlist ) ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfind ( id : ĠLong ): ĠTODO List ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġin Memory Storage . get ( user ). or Empty (). get ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( list : ĠTODO List ): ĠTODO List Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġby User Ġ= Ġin Memory Storage . get Or Put ( user ){ HashMap ()} ĊĠĠĠĠĠĠĠ Ġby User . put ( list . id , Ġlist ) ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠfindAll (): ĠCollection < TODO List > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġin Memory Storage . get ( user ). or Empty (). values ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete ( list : ĠTODO List ) Ġ{ ĊĠĠĠĠĠĠĠ Ġin Memory Storage . getOrElse ( user ) Ġ{ ĠHashMap () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. remove ( list . id ) ĊĠĠĠ Ġ} Ċ Ċ }