/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠPeter ĠKen ji ĠY aman aka Ċ Ġ* Ċ Ġ* Ġ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 . py am soft . f ridge . db . item Ċ Ċ import Ġandroidx . annotation . Check Result Ċ import Ġcom . py am soft . f ridge . db . category . F ridge Category Ċ import Ġcom . py am soft . f ridge . db . entry . F ridge Entry Ċ import Ġcom . py am soft . f ridge . db . item . F ridge Item . Presence Ċ import Ġcom . squareup . mos hi . Json Class Ċ import Ġjava . util . Date Ċ Ċ @ Json Class ( generate Adapter Ġ= Ġtrue ) Ċ data Ġclass ĠJson M appable F ridge Item Ċ internal Ġconstructor ( ĊĠĠĠ Ġinternal Ġval Ġid : ĠF ridge Item . Id , ĊĠĠĠ Ġinternal Ġval Ġentry Id : ĠF ridge Entry . Id , ĊĠĠĠ Ġinternal Ġval Ġname : ĠString , ĊĠĠĠ Ġinternal Ġval Ġcount : ĠInt , ĊĠĠĠ Ġinternal Ġval Ġcreated Time : ĠDate , ĊĠĠĠ Ġinternal Ġval Ġpurch ased Time : ĠDate ?, ĊĠĠĠ Ġinternal Ġval Ġexpire Time : ĠDate ?, ĊĠĠĠ Ġinternal Ġval Ġpresence : ĠPres ence , ĊĠĠĠ Ġinternal Ġval Ġconsumption Date : ĠDate ?, ĊĠĠĠ Ġinternal Ġval Ġspo iled Date : ĠDate ?, ĊĠĠĠ Ġinternal Ġval Ġcategory Id : ĠF ridge Category . Id ?, ĊĠĠĠ Ġinternal Ġval Ġis Real : ĠBoolean , Ċ ) Ġ: ĠF ridge Item Ġ{ ĊĊĠ Ġoverride Ġfun Ġid (): ĠF ridge Item . Id Ġ{ ĊĠĠĠ Ġreturn Ġid ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġentry Id (): ĠF ridge Entry . Id Ġ{ ĊĠĠĠ Ġreturn Ġentry Id ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġname (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġname ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcount (): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġcount ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcreated Time (): ĠDate Ġ{ ĊĠĠĠ Ġreturn Ġcreated Time ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġpurchase Time (): ĠDate ? Ġ{ ĊĠĠĠ Ġreturn Ġpurch ased Time ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġexpire Time (): ĠDate ? Ġ{ ĊĠĠĠ Ġreturn Ġexpire Time ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġpresence (): ĠPres ence Ġ{ ĊĠĠĠ Ġreturn Ġpresence ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcategory Id (): ĠF ridge Category . Id ? Ġ{ ĊĠĠĠ Ġreturn Ġcategory Id ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġis Real (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġis Real ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġconsumption Date (): ĠDate ? Ġ{ ĊĠĠĠ Ġreturn Ġconsumption Date ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġinvalidate Consumption (): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( cons umption Date Ġ= Ġnull ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġis Cons umed (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġconsumption Date Ġ!= Ġnull ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġspo iled Date (): ĠDate ? Ġ{ ĊĠĠĠ Ġreturn Ġspo iled Date ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġinvalidate Spo iled (): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( spo iled Date Ġ= Ġnull ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġis Spo iled (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġspo iled Date Ġ!= Ġnull ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠisEmpty (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġid (). isEmpty () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġmigrate To ( entry Id : ĠF ridge Entry . Id ): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( entry Id Ġ= Ġentry Id ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġname ( name : ĠString ): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( name Ġ= Ġname ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcount ( count : ĠInt ): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( count Ġ= Ġcount ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġexpire Time ( expire Time : ĠDate ): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( expire Time Ġ= Ġexpire Time ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġinvalidate Expiration (): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( expire Time Ġ= Ġnull ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġpurchase Time ( purchase Time : ĠDate ): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( purchase d Time Ġ= Ġpurchase Time ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġinvalidate Purchase (): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( purchase d Time Ġ= Ġnull ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġpresence ( presence : ĠPres ence ): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( presence Ġ= Ġpresence ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġmake Real (): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( is Real Ġ= Ġtrue ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġconsume ( date : ĠDate ): ĠF ridge Item Ġ{ ĊĠĠĠ Ġrequire ( is Real ()) Ġ{ Ġ" Cannot Ġconsume Ġnon - real Ġitem : Ġ$ this " Ġ} ĊĠĠĠ Ġreturn Ġthis . copy ( cons umption Date Ġ= Ġdate ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġspo il ( date : ĠDate ): ĠF ridge Item Ġ{ ĊĠĠĠ Ġrequire ( is Real ()) Ġ{ Ġ" Cannot Ġspo il Ġnon - real Ġitem : Ġ$ this " Ġ} ĊĠĠĠ Ġreturn Ġthis . copy ( spo iled Date Ġ= Ġdate ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġinvalidate CategoryId (): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( categoryId Ġ= Ġnull ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcategory Id ( id : ĠF ridge Category . Id ): ĠF ridge Item Ġ{ ĊĠĠĠ Ġreturn Ġthis . copy ( categoryId Ġ= Ġid ) ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Check Result ĊĠĠĠ Ġfun Ġfrom ( item : ĠF ridge Item ): ĠJson M appable F ridge Item Ġ{ ĊĠĠĠĠĠ Ġreturn Ġif Ġ( item Ġis ĠJson M appable F ridge Item ) Ġitem ĊĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠJson M appable F ridge Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . id (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . entry Id (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . name (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . count (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . created Time (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . purchase Time (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . expire Time (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . presence (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . cons umption Date (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . spo iled Date (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . categoryId (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . is Real ()) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ