package Ġorg . echo . mobile . framework . model Ċ Ċ import Ġcom . google . gson .* Ċ import Ġcom . google . gson . annotations . Expose Ċ import Ġcom . google . gson . annotations . SerializedName Ċ import Ġorg . echo . mobile . framework . core . mapper . ObjectMapper Ċ import Ġjava . lang . reflect . Type Ċ import Ġjava . math . BigInteger Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠRepresents Ġbalance Ġmodel Ġin ĠGraph ene Ġblockchain Ċ Ġ* Ċ Ġ* Ġ@ author ĠP avel ĠS av chk ov Ċ Ġ*/ Ċ class ĠBalance Object ( id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Expose Ġvar Ġowner : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName ( AS SET _ TYPE _ KEY ) Ġ@ Expose Ġvar Ġasset : ĠAsset ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName ( LAST _ CL AIM _ DATE _ KEY ) Ġ@ Expose Ġvar Ġlast Claim Data : ĠDate ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Expose Ġvar Ġbalance : ĠBigInteger Ċ ) Ġ: ĠGraph ene Object ( id ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDeserial izer Ġused Ġto Ġbuild Ġa Ġ[ Account Balance ] Ġinstance Ġfrom ĠJSON ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠBalance Deserializer Ġ: ĠJson Deserializer < Balance Object > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdeserialize ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson : ĠJson Element ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtypeOf T : ĠType ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext : ĠJson Deserialization Context ? ĊĠĠĠĠĠĠĠ Ġ): ĠBalance Object ? Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( json Ġ== Ġnull Ġ|| Ġ! json . is JsonObject ) Ġreturn Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbalance Object Ġ= Ġjson . as JsonObject ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( balance Object . toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġbalance Object [ ID _ KEY ]. asString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġowner Ġ= Ġbalance Object [ OWNER _ KEY ]. asString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġasset Ġ= Ġparse Asset ( balance Object ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Claim Date Ġ= ĠDate ( balance Object [ LAST _ CL AIM _ DATE _ KEY ]. as Long ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbalance Ġ= Ġbalance Object [ BAL ANCE _ KEY ]. as Long . to BigInteger () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBalance Object ( id , Ġowner , Ġasset , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Claim Date , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbalance ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġparse Asset ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoperation Object : ĠJsonObject ĊĠĠĠĠĠĠĠ Ġ): ĠAsset ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġassets Json Ġ= Ġoperation Object [ AS SET _ TYPE _ KEY ]. asString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠAsset ( assets Json ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠID _ KEY Ġ= Ġ" id " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠOWNER _ KEY Ġ= Ġ" owner " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠAS SET _ TYPE _ KEY Ġ= Ġ" asset _ type " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠLAST _ CL AIM _ DATE _ KEY Ġ= Ġ" last _ claim _ date " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠB AL ANCE _ KEY Ġ= Ġ" balance " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠJson Ġmapper Ġfor Ġ[ Balance Object ] Ġmodel ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠBalance ObjectMapper Ġ: ĠObjectMapper < Balance Object > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmap ( data : ĠString ): ĠBalance Object ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . try Map Withdraw () ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠString . try Map Withdraw () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . try Map ( Balance Object :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġ< T > ĠString . try Map ( result Type : ĠClass < T >): ĠT ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGson Builder (). register Type Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBalance Object :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBalance Deserializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fromJson ( this , Ġresult Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ