package Ġcom . sk sam uel . avro 4 k . serializer Ċ Ċ import Ġcom . sk sam uel . avro 4 k . decoder . Extended Decoder Ċ import Ġcom . sk sam uel . avro 4 k . encoder . Extended Encoder Ċ import Ġcom . sk sam uel . avro 4 k . schema . Av ro Descriptor Ċ import Ġcom . sk sam uel . avro 4 k . schema . Naming Strategy Ċ import Ġkotlinx . serialization . Primitive Kind Ċ import Ġkotlinx . serialization . Serial Descriptor Ċ import Ġkotlinx . serialization . Serializer Ċ import Ġkotlinx . serialization . modules . Serial Module Ċ import Ġorg . apache . avro . Logical Types Ċ import Ġorg . apache . avro . Schema Ċ import Ġorg . apache . avro . Schema Builder Ċ import Ġjava . util .* Ċ Ċ @ Serializer ( for Class Ġ= ĠUUID :: class ) Ċ class ĠUUID Serializer Ġ: ĠAv ro Serializer < UUID >() Ġ{ ĊĊĠĠ Ġoverride Ġfun Ġencode Av ro Value ( schema : ĠSchema , Ġencoder : ĠExtended Encoder , Ġobj : ĠUUID ) Ġ= Ġencoder . encode String ( obj . toString ()) ĊĊĠĠ Ġoverride Ġfun Ġdecode Av ro Value ( schema : ĠSchema , Ġdecoder : ĠExtended Decoder ): ĠUUID Ġ= ĊĠĠĠĠĠ ĠUUID . fromString ( decoder . decode String ()) ĊĊĠĠ Ġoverride Ġval Ġdescriptor : ĠSerial Descriptor Ġ= Ġobject Ġ: ĠAv ro Descriptor (" uuid ", ĠPrimitive Kind . STRING ) Ġ{ ĊĠĠĠĠĠ Ġoverride Ġfun Ġschema ( ann os : ĠList < Annotation >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext : ĠSerial Module , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnaming Strategy : ĠN aming Strategy ): ĠSchema Ġ{ ĊĠĠĠĠĠĠĠĠ Ġval Ġschema Ġ= ĠSchema Builder . builder (). string Type () ĊĠĠĠĠĠĠĠĠ Ġreturn ĠLogical Types . uuid (). addTo Schema ( schema ) ĊĠĠĠĠĠ Ġ} ĊĠĠ Ġ} Ċ }