package Ġfr . vs ct . to ck . nlp . front . shared . config Ċ Ċ 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 . core . Entities Regexp Ċ import Ġjava . util . Linked HashSet Ċ import Ġjava . util . Locale Ċ import Ġkotlin . String Ċ import Ġkotlin . collections . Map Ċ import Ġkotlin . collections . Set Ċ import Ġorg . lit ote . jackson . Jack son Module Service Loader Ċ import Ġorg . lit ote . km ongo . Id Ċ Ċ class ĠIntent Definition _ Deserializer Ġ: ĠStd Deserializer < Intent Definition >( Intent Definition :: class . java ), ĊĠĠĠĠĠĠĠ ĠJack son Module Service Loader Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmodule () Ġ= ĠSimple Module (). add Deserializer ( Intent Definition :: class . java , Ġthis ) ĊĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( p : ĠJson Parser , Ġctxt : ĠDeserial ization Context ): ĠIntent Definition Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( p ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġname : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġnamespace : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġapplications : ĠSet < Id < Application Definition >> ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġentities : ĠSet < Entity Definition >? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġentities Regexp : ĠMap < Locale , ĠLinked HashSet < Entities Regexp >> ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġmandatory States : ĠSet < String >? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġshared Intent s : ĠSet < Id < Intent Definition >> ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġ_ id : ĠId < Intent Definition >? Ġ= Ġ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 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" name " Ġ-> Ġname Ġ= Ġp . text ĊĠĠĠĠĠĠĠ Ġ" namespace " Ġ-> Ġnamespace Ġ= Ġp . text ĊĠĠĠĠĠĠĠ Ġ" applications " Ġ-> Ġapplications Ġ= Ġp . readValue As ( applications _ reference ) ĊĠĠĠĠĠĠĠ Ġ" entities " Ġ-> Ġentities Ġ= Ġp . readValue As ( entities _ reference ) ĊĠĠĠĠĠĠĠ Ġ" entities Regexp " Ġ-> Ġentities Regexp Ġ= Ġp . readValue As ( entities Regexp _ reference ) ĊĠĠĠĠĠĠĠ Ġ" mandatory States " Ġ-> Ġmandatory States Ġ= Ġp . readValue As ( mandatory States _ reference ) ĊĠĠĠĠĠĠĠ Ġ" shared Intent s " Ġ-> Ġshared Intent s Ġ= Ġp . readValue As ( shared Intent s _ reference ) ĊĠĠĠĠĠĠĠ Ġ"_ id " Ġ-> Ġ_ id Ġ= Ġp . readValue As (_ id _ reference ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġif Ġ( current Token Ġ== ĠJson Token . END _ OBJECT Ġ|| Ġcurrent Token Ġ== ĠJson Token . END _ ARRAY ) Ġ{ Ġp . skip Children () Ġ} Ġelse Ġ{ Ġnext Token () Ġ} ĊĠĠĠĠĠĠĠĠ Ġ} Ġ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠIntent Definition ( name !! , Ġnamespace !! , Ġapplications !! , Ġentities !! , Ġentities Regexp !! , Ġmandatory States !! , Ġshared Intent s !! , Ġ_ id !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapplications _ reference : ĠType Reference < Set < Id < Application Definition >>> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠType Reference < Set < Id < Application Definition >> >() Ġ{} ĊĊĠĠĠĠĠĠĠ Ġval Ġentities _ reference : ĠType Reference < Set < Entity Definition >> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠType Reference < Set < Entity Definition >>() Ġ{} ĊĊĠĠĠĠĠĠĠ Ġval Ġentities Regexp _ reference : ĠType Reference < Map < Locale , ĠLinked HashSet < Entities Regexp >>> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠType Reference < Map < Locale , ĠLinked HashSet < Entities Regexp >> >() Ġ{} ĊĊĠĠĠĠĠĠĠ Ġval Ġmandatory States _ reference : ĠType Reference < Set < String >> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠType Reference < Set < String >>() Ġ{} ĊĊĠĠĠĠĠĠĠ Ġval Ġshared Intent s _ reference : ĠType Reference < Set < Id < Intent Definition >>> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠType Reference < Set < Id < Intent Definition >> >() Ġ{} ĊĊĠĠĠĠĠĠĠ Ġval Ġ_ id _ reference : ĠType Reference < Id < Intent Definition >> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠType Reference < Id < Intent Definition >>() Ġ{} ĊĠĠĠ Ġ} Ċ } Ċ