/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 / 2 0 2 1 Ġe - voy age urs Ġtechnologies Ċ Ġ* Ċ Ġ* Ġ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 Ġai . to ck . duck ling . client Ċ Ċ import Ġio . vertx . core . json . JsonArray Ċ import Ġio . vertx . core . json . JsonObject Ċ Ċ internal Ġclass ĠJSON Value ( val Ġvalue : ĠAny ?) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠNULL _ VALUE Ġ= ĠJSON Value ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoperator Ġfun Ġget ( i : ĠInt ): ĠJSON Value Ġ= Ġif Ġ( isNull ()) ĠNULL _ VALUE Ġelse Ġif Ġ( value Ġis ĠJson Array ) ĠJSON Value ( value . getValue ( i )) Ġelse Ġthrow ĠIllegalArgumentException (" supported Ġonly Ġfor Ġarray Ġbut Ġis Ġ$ value ") ĊĊĠĠĠ Ġoperator Ġfun Ġget ( name : ĠString ): ĠJSON Value Ġ= Ġif Ġ( isNull ()) ĠNULL _ VALUE Ġelse Ġif Ġ( value Ġis ĠJsonObject ) ĠJSON Value ( value . getValue ( name )) Ġelse Ġif Ġ( value Ġis ĠMap < *, Ġ* >) ĠJSON Value ( value . get ( name )) Ġelse Ġthrow ĠIllegalArgumentException (" supported Ġonly Ġfor Ġmap Ġbut Ġis Ġ$ value ") ĊĊĠĠĠ Ġfun Ġstring (): ĠString Ġ= Ġvalue . toString () ĊĊĠĠĠ Ġfun Ġint (): ĠInt Ġ= Ġvalue Ġas ĠInt ĊĊĠĠĠ Ġfun Ġnumber (): ĠNumber Ġ= Ġvalue Ġas ĠNumber ĊĊĠĠĠ Ġfun Ġarray (): ĠJson Array Ġ= Ġvalue Ġas ĠJson Array ĊĊĠĠĠ Ġfun ĠisEmpty (): ĠBoolean Ġ= Ġ( value Ġas ĠJson Array ). isEmpty ĊĊĠĠĠ Ġfun Ġis Null (): ĠBoolean Ġ= Ġvalue Ġ== Ġnull ĊĊĠĠĠ Ġfun Ġis NotNull (): ĠBoolean Ġ= Ġvalue Ġ!= Ġnull ĊĊĠĠĠ Ġfun Ġiterable (): ĠIterable < JSON Value > Ġ= Ġ( value Ġas ĠJson Array ). list . map Ġ{ ĠJSON Value ( it ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġstring () Ċ } Ċ