package Ġfr . vs ct . to ck . nlp . front . shared . build Ċ Ċ import Ġcom . fasterxml . jackson . core . Json Parser Ċ import Ġcom . fasterxml . jackson . core . Json Token Ċ import Ġcom . fasterxml . jackson . core . type . Type Reference Ċ import Ġcom . fasterxml . jackson . databind . Deserialization Context Ċ import Ġcom . fasterxml . jackson . databind . de ser . std . Std Deserializer Ċ import Ġcom . fasterxml . jackson . databind . module . Simple Module Ċ import Ġfr . vs ct . to ck . nlp . front . shared . config . Application Definition Ċ import Ġkotlin . Boolean Ċ import Ġorg . lit ote . jackson . Jack son Module Service Loader Ċ import Ġorg . lit ote . km ongo . Id Ċ Ċ class ĠModel Build Trigger _ Deserializer Ġ: ĠStd Deserializer < Model Build Trigger >( Model Build Trigger :: class . java ), ĊĠĠĠĠĠĠĠ ĠJack son Module Service Loader Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmodule () Ġ= ĠSimple Module (). add Deserializer ( Model Build Trigger :: class . java , Ġthis ) ĊĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( p : ĠJson Parser , Ġctxt : ĠDeserial ization Context ): ĠModel Build Trigger Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( p ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġapplication Id : ĠId < Application Definition >? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġall : ĠBoolean ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġonly If Model Not Exists : ĠBoolean ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġwhile Ġ( current Token Ġ!= ĠJson Token . END _ OBJECT Ġ&& Ġcurrent Token Ġ!= ĠJson Token . END _ ARRAY ) Ġ{ ĠĊĠĠĠĠĠĠĠ Ġnext Token () ĠĊĠĠĠĠĠĠĠ Ġif Ġ( current Token Ġ== ĠJson Token . END _ OBJECT Ġ|| Ġcurrent Token Ġ== ĠJson Token . END _ ARRAY ) Ġ{ Ġbreak Ġ} ĠĊĠĠĠĠĠĠĠ Ġval ĠfieldName Ġ= Ġcurrent Name ĊĠĠĠĠĠĠĠ Ġnext Token () ĊĠĠĠĠĠĠĠ Ġif ( current Token Ġ!= ĠJson Token . VALUE _ NULL ) Ġwhen Ġ( fieldName ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" application Id " Ġ-> Ġapplication Id Ġ= Ġp . readValue As ( application Id _ reference ) ĊĠĠĠĠĠĠĠ Ġ" all " Ġ-> Ġall Ġ= Ġp . readValue As ( Boolean :: class . java ) ĊĠĠĠĠĠĠĠ Ġ" only If Model Not Exists " Ġ-> Ġonly If Model Not Exists Ġ= Ġp . readValue As ( Boolean :: class . java ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġif Ġ( current Token Ġ== ĠJson Token . END _ OBJECT Ġ|| Ġcurrent Token Ġ== ĠJson Token . END _ ARRAY ) Ġ{ Ġp . skip Children () Ġ} Ġelse Ġ{ Ġnext Token () Ġ} ĊĠĠĠĠĠĠĠĠ Ġ} Ġ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠModel Build Trigger ( application Id !! , Ġall !! , Ġonly If Model Not Exists !! ) Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapplication Id _ reference : ĠType Reference < Id < Application Definition >> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠType Reference < Id < Application Definition >>() Ġ{} ĊĠĠĠ Ġ} Ċ } Ċ