package Ġdk . cache t . car p . common . application Ċ Ċ import Ġdk . cache t . car p . common . infrastructure . serialization . create C arp String Primitive Serializer Ċ import Ġkotlinx . serialization . K Serializer Ċ import Ġkotlinx . serialization . Serializable ĊĊ Ċ /** Ċ Ġ* ĠRepresents Ġthe Ġaddress Ġof Ġan Ġelectronic Ġmail Ġsender Ġor Ġrecipient . Ċ Ġ* ĠTODO : ĠValidate Ġso Ġonly Ġvalid Ġemail Ġaddresses Ġcan Ġbe Ġpassed . Ċ Ġ*/ Ċ @ Serializable ( ĠEmail Address Serializer :: class Ġ) Ċ data Ġclass ĠEmail Address ( Ġval Ġaddress : ĠString Ġ) Ċ { ĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġaddress Ċ } ĊĊ Ċ /** Ċ Ġ* ĠA Ġcustom Ġserializer Ġfor Ġ[ EmailAddress ]. Ċ Ġ*/ Ċ object ĠEmail Address Serializer Ġ: ĠK Serializer < EmailAddress > Ġby Ġcreate C arp String Primitive Serializer ( Ġ{ ĠEmail Address ( Ġit Ġ) Ġ} Ġ) Ċ