package Ġio . radar . sdk . model Ċ Ċ import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONObject Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġuser Ġsegment . Ċ Ġ*/ Ċ class ĠRad ar Segment ( ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdescription Ġof Ġthe Ġsegment . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġdescription : ĠString , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġexternal ĠID Ġof Ġthe Ġsegment . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġexternal Id : ĠString Ċ ) Ġ{ ĊĊĠĠĠ Ġinternal Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠFIELD _ DESCRIPTION Ġ= Ġ" description " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠFIELD _ EXTERNAL _ ID Ġ= Ġ" external Id " ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Json ( obj : ĠJSONObject ?): ĠRad ar Segment ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( obj Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdescription Ġ= Ġobj . opt String ( FIELD _ DESCRIPTION ) Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexternal Id Ġ= Ġobj . opt String ( FIELD _ EXTERNAL _ ID ) Ġ?: Ġ"" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRad ar Segment ( description , Ġexternal Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Json ( arr : ĠJSONArray ?): ĠArray < Rad ar Segment >? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( arr Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠArray ( arr . length ()) Ġ{ Ġindex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Json ( arr . opt JSONObject ( index )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. filter NotNull (). to Typed Array () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun ĠtoJson ( segments : ĠArray < Rad ar Segment >? ): ĠJSONArray ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( segments Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarr Ġ= ĠJSONArray () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsegments . forEach Ġ{ Ġsegment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarr . put ( segment . toJson ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġarr ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠtoJson (): ĠJSONObject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠ Ġobj . put Opt ( FIELD _ DESCRIPTION , Ġthis . description ) ĊĠĠĠĠĠĠĠ Ġobj . put Opt ( FIELD _ EXTERNAL _ ID , Ġthis . external Id ) ĊĠĠĠĠĠĠĠ Ġreturn Ġobj ĊĠĠĠ Ġ} Ċ } Ċ