package Ġai . to ck . bot . engine . user Ċ Ċ import Ġcom . fasterxml . jackson . core . Json Generator Ċ import Ġcom . fasterxml . jackson . databind . Serializer Provider Ċ import Ġcom . fasterxml . jackson . databind . module . Simple Module Ċ import Ġcom . fasterxml . jackson . databind . ser . std . Std Serializer Ċ import Ġorg . lit ote . jackson . Jack son Module Service Loader Ċ Ċ internal Ġclass ĠPlayer Id _ Serializer Ġ: ĠStd Serializer < Player Id >( Player Id :: class . java ), ĊĠĠĠĠĠĠĠ ĠJack son Module Service Loader Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmodule () Ġ= ĠSimple Module (). add Serializer ( Player Id :: class . java , Ġthis ) ĊĊĠĠĠ Ġoverride Ġfun Ġserialize ( ĊĠĠĠĠĠĠĠ Ġvalue : ĠPlayer Id , ĊĠĠĠĠĠĠĠ Ġgen : ĠJson Generator , ĊĠĠĠĠĠĠĠ Ġserializers : ĠSerializer Provider ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgen . write Start Object () ĊĠĠĠĠĠĠĠ Ġgen . writeField Name (" id ") ĊĠĠĠĠĠĠĠ Ġval Ġ_ id _ Ġ= Ġvalue . id ĊĠĠĠĠĠĠĠ Ġgen . writeString (_ id _) ĊĠĠĠĠĠĠĠ Ġgen . writeField Name (" type ") ĊĠĠĠĠĠĠĠ Ġval Ġ_ type _ Ġ= Ġvalue . type ĊĠĠĠĠĠĠĠ Ġserializers . default Serialize Value (_ type _, Ġgen ) ĊĠĠĠĠĠĠĠ Ġgen . writeField Name (" clientId ") ĊĠĠĠĠĠĠĠ Ġval Ġ_ clientId _ Ġ= Ġvalue . clientId ĊĠĠĠĠĠĠĠ Ġif (_ clientId _ Ġ== Ġnull ) Ġ{ Ġgen . write Null () Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgen . writeString (_ clientId _) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġgen . write End Object () ĊĠĠĠ Ġ} Ċ } Ċ