package Ġcom . notes ync . notes . framework . dataSource . cache . map pers Ċ Ċ import Ġcom . notes ync . notes . business . domain . model . Note Ċ import Ġcom . notes ync . notes . business . domain . util . Date Util Ċ import Ġcom . notes ync . notes . business . domain . util . Entity Mapper Ċ import Ġcom . notes ync . notes . framework . dataSource . cache . model . Note Cache Entity Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Singleton Ċ class ĠCache Mapper Ġ@ Inject Ġconstructor ( private Ġval Ġdate Util : ĠDate Util ) Ġ: ĊĠĠĠ ĠEntity Mapper < Note Cache Entity , ĠNote > Ġ{ ĊĊĠĠĠ Ġfun Ġentity List To Note List ( entities : ĠList < Note Cache Entity >): ĠList < Note > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist : ĠArrayList < Note > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġfor Ġ( entity Ġin Ġentities ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( map From Entity ( entity , null )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnote List To Entity List ( notes : ĠList < Note >): ĠList < Note Cache Entity > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentities : ĠArrayList < Note Cache Entity > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġfor Ġ( note Ġin Ġnotes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentities . add ( map To Entity ( note , null )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġentities ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmap From Entity ( entity : ĠNote Cache Entity , key : String ?): ĠNote Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠNote ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġentity . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġentity . title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġentity . body , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdated _ at Ġ= Ġentity . updated _ at , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreated _ at Ġ= Ġentity . created _ at , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice _ id Ġ= Ġentity . device _ id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmap To Entity ( domain Model : ĠNote , key : String ?): ĠNote Cache Entity Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠNote Cache Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġdomain Model . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġdomain Model . title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġdomain Model . body , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdated _ at Ġ= Ġdomain Model . updated _ at , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreated _ at Ġ= Ġdomain Model . created _ at , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice _ id Ġ= Ġdomain Model . device _ id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊ Ċ }