package Ġcom . ax el _ stein . glu co se _ tracker . data . room . model Ċ Ċ import Ġandroid . os . Parcel Ċ import Ġandroid . os . Parcelable Ċ import Ġandroidx . room .* Ċ import Ġcom . google . gson . annotations . Expose Ċ import Ġjava . util .* Ċ Ċ @ Entity ( ĊĠĠĠ ĠtableName Ġ= Ġ" food _ serving ", ĊĠĠĠ Ġforeign Keys Ġ= Ġ[ ĊĠĠĠĠĠĠĠ ĠForeign Key ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Ġ= ĠMe al :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent Columns Ġ= Ġ[" id "], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild Columns Ġ= Ġ[" meal _ id "], ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonDelete Ġ= ĠForeign Key . CASCADE ĊĠĠĠĠĠĠĠ Ġ), ĊĊĠĠĠĠĠĠĠ ĠForeign Key ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Ġ= ĠFood :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent Columns Ġ= Ġ[" id "], ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild Columns Ġ= Ġ[" food _ id "], ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonDelete Ġ= ĠForeign Key . CASCADE ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġ] Ċ ) Ċ class ĠFood Ser ving Ġ: ĠParcel able Ġ{ ĊĠĠĠ Ġ@ Expose ĊĠĠĠ Ġ@ PrimaryKey ( auto Generate Ġ= Ġtrue ) ĊĠĠĠ Ġvar Ġid Ġ= Ġ 0 L ĊĊĠĠĠ Ġ@ Ignore ĊĠĠĠ Ġvar Ġuuid : ĠString Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġ@ Ignore ĊĠĠĠ Ġlateinit Ġvar Ġfood : ĠFood ĊĊĠĠĠ Ġ@ Expose ĊĠĠĠ Ġvar Ġsize : ĠFloat Ġ= Ġ 0 f ĊĊĠĠĠ Ġ@ Expose ĊĠĠĠ Ġvar Ġprotein Ġ= Ġ 0 f ĊĊĠĠĠ Ġ@ Expose ĊĠĠĠ Ġvar Ġfat Ġ= Ġ 0 f ĊĊĠĠĠ Ġ@ Expose ĊĠĠĠ Ġvar Ġcar bs Ġ= Ġ 0 f ĊĊĠĠĠ Ġ@ Expose ĊĠĠĠ Ġvar Ġcal ories Ġ= Ġ 0 f ĊĊĠĠĠ Ġ@ Expose ĊĠĠĠ Ġ@ Column Info ( name Ġ= Ġ" food _ id ", Ġindex Ġ= Ġtrue ) ĊĠĠĠ Ġvar Ġfood Id Ġ= Ġ 0 L ĊĊĠĠĠ Ġ@ Expose ĊĠĠĠ Ġ@ Column Info ( name Ġ= Ġ" meal _ id ", Ġindex Ġ= Ġtrue ) ĊĠĠĠ Ġvar Ġme al Id Ġ= Ġ 0 L ĊĊĠĠĠ Ġconstructor () ĊĠĠĠ Ġconstructor ( food : ĠFood ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . food Ġ= Ġfood ĊĠĠĠ Ġ} ĊĠĠĠ Ġconstructor ( parcel : ĠParcel ) Ġ: Ġthis () Ġ{ ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġparcel . read Long () ĊĠĠĠĠĠĠĠ Ġuuid Ġ= Ġparcel . readString () Ġ?: ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠ Ġfood Ġ= Ġparcel . read Parcelable ( Food :: class . java . class Loader ) Ġ?: Ġthrow ĠIllegalStateException () ĊĠĠĠĠĠĠĠ Ġsize Ġ= Ġparcel . read Float () ĊĠĠĠĠĠĠĠ Ġprotein Ġ= Ġparcel . read Float () ĊĠĠĠĠĠĠĠ Ġfat Ġ= Ġparcel . read Float () ĊĠĠĠĠĠĠĠ Ġcar bs Ġ= Ġparcel . read Float () ĊĠĠĠĠĠĠĠ Ġcal ories Ġ= Ġparcel . read Float () ĊĠĠĠĠĠĠĠ Ġfood Id Ġ= Ġparcel . read Long () ĊĠĠĠĠĠĠĠ Ġme al Id Ġ= Ġparcel . read Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠwriteTo Parcel ( parcel : ĠParcel , Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġparcel . write Long ( id ) ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( uuid ) ĊĠĠĠĠĠĠĠ Ġparcel . write Parcelable ( food , Ġflags ) ĊĠĠĠĠĠĠĠ Ġparcel . write Float ( size ) ĊĠĠĠĠĠĠĠ Ġparcel . write Float ( protein ) ĊĠĠĠĠĠĠĠ Ġparcel . write Float ( fat ) ĊĠĠĠĠĠĠĠ Ġparcel . write Float ( car bs ) ĊĠĠĠĠĠĠĠ Ġparcel . write Float ( cal ories ) ĊĠĠĠĠĠĠĠ Ġparcel . write Long ( food Id ) ĊĠĠĠĠĠĠĠ Ġparcel . write Long ( meal Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdescribe Contents () Ġ= Ġ 0 ĊĊĠĠĠ Ġcompanion Ġobject ĠCRE ATOR Ġ: ĠParcel able . Creator < Food Ser ving > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel ( parcel : ĠParcel ): ĠFood Ser ving Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFood Ser ving ( parcel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < Food Ser ving ?> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠarrayOf Null s ( size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }