/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 . Ġne ko code Ġ( ne ko code . cn @ gmail . com ) Ċ Ġ* Ċ Ġ* Ġ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 Ġcn . ne ko code . gradle . de pan . model Ċ Ċ import Ġcom . j 2 5 6 . orm lite . field . Database Field Ċ import Ġcom . j 2 5 6 . orm lite . table . Database Table Ċ Ċ /** Ċ Ġ* Ġ@ author Ġne ko code Ġ( ne ko code . cn @ gmail . com ) Ċ Ġ*/ Ċ @ Database Table ( tableName Ġ= Ġ" field ") Ċ class ĠField Element () Ġ: ĠElement Ġ{ ĊĠĠĠ Ġoverride Ġval Ġelement Sort Ġ= ĠElement Sort . FIELD ĊĊĠĠĠ Ġ@ Database Field ( columnName Ġ= Ġ" id ", Ġgenerated Id Ġ= Ġtrue ) ĊĠĠĠ Ġoverride Ġvar Ġid : ĠInt Ġ= Ġ- 1 ĊĊĠĠĠ Ġ@ Database Field ( columnName Ġ= Ġ" name ") ĊĠĠĠ Ġlateinit Ġvar Ġname : ĠString ĊĊĠĠĠ Ġ@ Database Field ( columnName Ġ= Ġ" type ", Ġforeign Ġ= Ġtrue ) ĊĠĠĠ Ġlateinit Ġvar Ġtype : ĠType Element ĊĊĠĠĠ Ġ@ Database Field ( columnName Ġ= Ġ" owner ", Ġforeign Ġ= Ġtrue ) ĊĠĠĠ Ġlateinit Ġvar Ġowner : ĠType Element ĊĊĠĠĠ Ġ@ Database Field ( columnName Ġ= Ġ" access _ flags ") ĊĠĠĠ Ġoverride Ġvar Ġaccess Flags : ĠInt Ġ= ĠElement . ACCESS _ FLAGS _ MISSING ĊĊĠĠĠ Ġ@ Database Field ( columnName Ġ= Ġ" string _ id ", Ġunique Ġ= Ġtrue ) ĊĠĠĠ Ġlateinit Ġvar Ġstring Id : ĠString ĊĊĠĠĠ Ġconstructor ( name : ĠString , Ġtype : ĠType Element , Ġowner Class : ĠType Element , Ġaccess Flags : ĠInt Ġ= ĠElement . ACCESS _ FLAGS _ MISSING ) Ġ: Ġthis () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . name Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġthis . type Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġthis . owner Ġ= Ġowner Class ĊĠĠĠĠĠĠĠ Ġthis . access Flags Ġ= Ġaccess Flags ĊĠĠĠĠĠĠĠ Ġupdate String Id () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate String Id () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . string Id Ġ= Ġ"${ element Sort . ordinal }| $ name | ${ type . id }| ${ owner . id }" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġruntime Id () Ġ= Ġ"${ element Sort . ordinal }| $ name | ${ type . runtime Id ()} | ${ owner . runtime Id () }" ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode () Ġ= Ġruntime Id (). hashCode () ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġis ĠField Element ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġother . runtime Id () Ġ== Ġthis . runtime Id () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . equals ( other ) ĊĠĠĠ Ġ} Ċ }