package Ġname . gy ger . j money . account Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonIgnore Ċ import Ġname . gy ger . j money . category . Category Ċ import Ġjava . util .* Ċ import Ġjavax . persistence .* Ċ Ċ @ Entity Ċ class ĠEntry Ġ{ ĊĠĠĠ Ġvar Ġcreation Ġ= ĠCalendar . getInstance (). time . time ĊĠĠĠ Ġvar Ġdate : ĠDate ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġval uta : ĠDate ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġdescription : ĠString Ġ= Ġ"" ĊĠĠĠ Ġvar Ġmemo : ĠString Ġ= Ġ"" ĊĠĠĠ Ġvar Ġamount : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġ@ Id ĊĠĠĠ Ġ@ GeneratedValue ( strategy Ġ= ĠGeneration Type . TABLE ) ĊĠĠĠ Ġvar Ġid : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġ@ JsonIgnore ĊĠĠĠ Ġ@ ManyToOne ( fetch Ġ= ĠFetch Type . LA ZY ) ĊĠĠĠ Ġvar Ġaccount : ĠAccount ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ JsonIgnore ĊĠĠĠ Ġ@ ManyToOne ĊĠĠĠ Ġvar Ġcategory : ĠCategory ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ JsonIgnore ĊĠĠĠ Ġ@ ManyToOne ( fetch Ġ= ĠFetch Type . LA ZY ) ĊĠĠĠ Ġvar Ġsplit Entry : ĠEntry ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ OneToMany ( mapped By Ġ= Ġ" split Entry ", Ġfetch Ġ= ĠFetch Type . E AGER , Ġcascade Ġ= ĠarrayOf ( Cascade Type . REMOVE )) ĊĠĠĠ Ġvar Ġsub Entries : ĠMutable List < Entry > Ġ= Ġmutable ListOf () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDouble Ġentry Ġbooking ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ One ToOne ( fetch Ġ= ĠFetch Type . LA ZY , Ġcascade Ġ= ĠarrayOf ( Cascade Type . REMOVE )) ĊĠĠĠ Ġvar Ġother : ĠEntry ? Ġ= Ġnull ĊĊĠĠĠ Ġenum Ġclass ĠStatus Ġ{ ĊĠĠĠĠĠĠĠ ĠRE CON C IL ING , ĠC LE ARE D ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Enumer ated ĊĠĠĠ Ġvar Ġstatus : ĠStatus ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Transient ĊĠĠĠ Ġvar Ġbalance : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġ@ Transient ĊĠĠĠ Ġvar ĠaccountId : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġ@ Transient ĊĠĠĠ Ġvar Ġcategory Id : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġfun Ġget Category Name (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcategory ?. name Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġcontains ( filter : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy Filter Ġ= Ġfilter Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġreturn Ġmy Filter Ġin Ġdescription ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġmy Filter Ġin Ġget Category Name () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġmy Filter Ġin Ġmemo ĊĠĠĠ Ġ} Ċ }