/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠN icol as ĠMal ta is Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . mal ta is n . notes . model . converter Ċ Ċ import Ġandroidx . room . Type Converter Ċ import Ġcom . mal ta is n . notes . model . entity . Note Type Ċ import Ġkotlinx . serialization .* ĊĊ Ċ @ Serializer ( for Class Ġ= ĠNote Type :: class ) Ċ object ĠNote Type Converter Ġ: ĠK Serializer < Note Type > Ġ{ ĊĊĠĠĠ Ġ@ Type Converter ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġto Int ( type : ĠNote Type ) Ġ= Ġtype . value ĊĊĠĠĠ Ġ@ Type Converter ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġto Type ( value : ĠInt ) Ġ= ĠNote Type . values (). find Ġ{ Ġit . value Ġ== Ġvalue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġerror (" Unknown Ġnote Ġtype Ġvalue ") ĊĊĠĠĠ Ġoverride Ġval Ġdescriptor Ġ= ĠPrimitive Descriptor (" Note Type ", ĠPrimitive Kind . INT ) ĊĠĠĠ Ġoverride Ġfun Ġserialize ( encoder : ĠEncoder , Ġvalue : ĠNote Type ) Ġ= Ġencoder . encode Int ( toInt ( value )) ĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( decoder : ĠDecoder ) Ġ= Ġto Type ( decoder . decode Int ()) Ċ Ċ } Ċ