package Ġkotlinx . serialization . csv . example Ċ Ċ import Ġkotlinx . serialization .* Ċ import Ġkotlinx . serialization . internal . Serial Class Desc Impl Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . format . DateTime Formatter Ċ import Ġjava . util .* Ċ Ċ @ Serializer ( for Class Ġ= ĠUUID :: class ) Ċ object ĠUUID Serializer Ġ: ĠK Serializer < UUID > Ġ{ ĊĠĠĠ Ġoverride Ġval Ġdescriptor : ĠSerial Descriptor Ġ= ĠSerial Class Desc Impl (" UUID ") ĊĊĠĠĠ Ġoverride Ġfun Ġserialize ( encoder : ĠEncoder , Ġobj : ĠUUID ) Ġ= ĊĠĠĠĠĠĠĠ Ġencoder . encode String ( obj . toString ()) ĊĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( decoder : ĠDecoder ): ĠUUID Ġ= ĊĠĠĠĠĠĠĠ ĠUUID . fromString ( decoder . decode String ()) Ċ } Ċ Ċ @ Serializer ( for Class Ġ= ĠLocalDateTime :: class ) Ċ object ĠLocalDateTime Serializer Ġ: ĠK Serializer < LocalDateTime > Ġ{ ĊĠĠĠ Ġprivate Ġval Ġformat Ġ= ĠDateTime Formatter . ISO _ DATE _ TIME ĊĊĠĠĠ Ġoverride Ġval Ġdescriptor : ĠSerial Descriptor Ġ= ĠSerial Class Desc Impl (" LocalDateTime ") ĊĊĠĠĠ Ġoverride Ġfun Ġserialize ( encoder : ĠEncoder , Ġobj : ĠLocalDateTime ) Ġ= ĊĠĠĠĠĠĠĠ Ġencoder . encode String ( format . format ( obj )) ĊĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( decoder : ĠDecoder ): ĠLocalDateTime Ġ= ĊĠĠĠĠĠĠĠ Ġformat . parse ( decoder . decode String (), ĠLocalDateTime :: from ) Ċ } Ċ