package Ġorg . the pon ies . p one cr after . model Ċ Ċ import Ġjavafx . beans . property . Simple Integer Property Ċ import Ġt orn ad of x .* Ċ import Ġjavax . json . JsonObject Ċ Ċ class ĠVector 2 ( initial X : ĠInt Ġ= Ġ 0 , Ġinitial Y : ĠInt Ġ= Ġ 0 ) Ġ: ĠJson Model Ġ{ ĊĠĠĠ Ġval Ġx Property Ġ= ĠSimple Integer Property ( this , Ġ" x ", Ġinitial X ) ĊĠĠĠ Ġvar Ġx : ĠInt Ġby Ġx Property ĊĠĠĠ Ġval Ġy Property Ġ= ĠSimple Integer Property ( this , Ġ" y ", Ġinitial Y ) ĊĠĠĠ Ġvar Ġy : ĠInt Ġby Ġy Property ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Model ( json : ĠJsonObject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( json ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġint (" x ") Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġint (" y ") Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoJSON ( json : ĠJson Builder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( json ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd (" x ", Ġx ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd (" y ", Ġy ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠVector 2 ĊĊĠĠĠĠĠĠĠ Ġif Ġ( x Ġ!= Ġother . x ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( y Ġ!= Ġother . y ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġx . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġy . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊ Ċ }