package Ġk z . b tsd . messenger . bot . domain Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonInclude Ċ import Ġcom . fasterxml . jackson . module . kotlin . jackson ObjectMapper Ċ import Ġk z . b tsd . messenger . bot . domain . content . Content Ċ Ċ data Ġclass ĠInterface View ( ĊĠĠĠĠĠĠĠ Ġval Ġtype : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġcontent : ĠMutable List < Content > Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠJSON Ġ= Ġj ack son ObjectMapper () ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJSON . set Serialization In clusion ( JsonInclude . Include . NON _ NULL ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġof ( json : ĠString ): ĠInterface View Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJSON . readValue ( json , ĠInterface View :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġvalidation ( json : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinterface View Ġ= ĠInterface View . of ( json ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġinterface View . toJson () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠtoJson (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠInterface View . JSON . writeValue AsString ( this ) ĊĠĠĠ Ġ} Ċ } Ċ