package Ġnet . cord a . serialization . internal . amqp Ċ Ċ import Ġnet . cord a . core . Delete For DJ VM Ċ import Ġnet . cord a . core . Keep For DJ VM Ċ import Ġnet . cord a . core . serialization . Class Whitelist Ċ import Ġnet . cord a . serialization . internal . car p enter . Class C arp enter Ċ import Ġnet . cord a . serialization . internal . car p enter . Class C arp enter Impl Ċ import Ġnet . cord a . serialization . internal . model .* Ċ import Ġjava . io . Not Serializable Exception Ċ Ċ @ Keep For DJ VM Ċ object ĠSerializer Factory Builder Ġ{ ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbuild ( whitelist : ĠClass Whitelist , Ġclass C arp enter : ĠClass C arp enter ): ĠSerializer Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmake Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhitelist , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass C arp enter , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Descriptor Based Serializer Registry (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Delete For DJ VM ĊĠĠĠ Ġfun Ġbuild ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhitelist : ĠClass Whitelist , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass C arp enter : ĠClass C arp enter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescriptor Based Serializer Registry : ĠDescriptor Based Serializer Registry Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Descriptor Based Serializer Registry (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġallow E volution : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride F inger Printer : ĠF inger Printer ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġonly Custom Serial izers : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmust Preserve Data When E vol ving : ĠBoolean Ġ= Ġfalse ): ĠSerializer Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmake Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhitelist , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass C arp enter , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescriptor Based Serializer Registry , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġallow E volution , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride F inger Printer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġonly Custom Serial izers , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmust Preserve Data When E vol ving ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Delete For DJ VM ĊĠĠĠ Ġfun Ġbuild ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhitelist : ĠClass Whitelist , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc arp enter ClassLoader : ĠClassLoader , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlen ient C arp enter Enabled : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescriptor Based Serializer Registry : ĠDescriptor Based Serializer Registry Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Descriptor Based Serializer Registry (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġallow E volution : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride F inger Printer : ĠF inger Printer ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġonly Custom Serial izers : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmust Preserve Data When E vol ving : ĠBoolean Ġ= Ġfalse ): ĠSerializer Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmake Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhitelist , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass C arp enter Impl ( whitelist , Ġc arp enter ClassLoader , Ġlen ient C arp enter Enabled ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescriptor Based Serializer Registry , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġallow E volution , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride F inger Printer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġonly Custom Serial izers , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmust Preserve Data When E vol ving ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmake Factory ( whitelist : ĠClass Whitelist , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass C arp enter : ĠClass C arp enter , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescriptor Based Serializer Registry : ĠDescriptor Based Serializer Registry , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġallow E volution : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride F inger Printer : ĠF inger Printer ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġonly Custom Serial izers : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmust Preserve Data When E vol ving : ĠBoolean ): ĠSerializer Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcustom Serializer Registry Ġ= ĠC aching Custom Serializer Registry ( descriptor Based Serializer Registry ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlocal Type Model Ġ= ĠConfigur able Local Type Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWh itelist Based Type Model Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhitelist , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Serializer Registry )) ĊĊĠĠĠĠĠĠĠ Ġval Ġfinger Printer Ġ= Ġoverride F inger Printer Ġ?: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType Mode lling F inger Printer ( custom Serializer Registry ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlocal Serializer Factory Ġ= ĠDefault Local Serializer Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhitelist , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Type Model , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinger Printer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass C arp enter . class loader , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescriptor Based Serializer Registry , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Serializer Registry , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġonly Custom Serial izers ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtype Loader Ġ= ĠClass C arp ent ing Type Loader ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSchema Building Remote Type C arp enter ( class C arp enter ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass C arp enter . class loader ) ĊĊĠĠĠĠĠĠĠ Ġval Ġevolution Serializer Factory Ġ= Ġif Ġ( allow E volution ) ĠDefault E volution Serializer Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Serializer Factory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass C arp enter . class loader , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmust Preserve Data When E vol ving ĊĠĠĠĠĠĠĠ Ġ) Ġelse ĠNo E volution Serializer Factory ĊĊĠĠĠĠĠĠĠ Ġval Ġremote Serializer Factory Ġ= ĠDefault Remote Serializer Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevolution Serializer Factory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescriptor Based Serializer Registry , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAMQP Remote Type Model (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Type Model , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Loader , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Serializer Factory ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠComp osed Serializer Factory ( local Serializer Factory , Ġremote Serializer Factory , Ġcustom Serializer Registry ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ object ĠNo E volution Serializer Factory Ġ: ĠE volution Serializer Factory Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget E volution Serializer ( remote Type Information : ĠRemote Type Information , Ġlocal Type Information : ĠLocal Type Information ): ĠAMQP Serializer < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠNot Serializable Exception (""" Ċ E volution Ġnot Ġpermitted . Ċ Ċ Remote : Ċ ${ remote Type Information . pretty Print ( false )} Ċ Ċ Local : Ċ ${ local Type Information . pretty Print ( false )} ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĠĠĠ Ġ} Ċ }