package Ġio . github . deb op . jackson . binary . avro Ċ Ċ import Ġio . github . deb op . jackson . binary . avro . Av ro Serializer . Companion . empty ByteArray Ċ import Ġorg . apache . avro . specific . Specific Record Ċ import Ġorg . x erial . sn appy . Sn appy Ċ Ċ /** Ċ Ġ* ĠDecor ator Ġclass Ġfor Ġ[ Jack son Av ron Serializer ] Ċ Ġ*/ Ċ abstract Ġclass ĠAv ro Jack son Serializer Decorator ( ĊĠĠĠ Ġprivate Ġval Ġserializer : ĠJack son Av ron Serializer Ġ= ĠJack son Av ron Serializer () Ċ ): ĠAv ro Serializer Ġby Ġserializer Ċ Ċ /** Ċ Ġ* Ġ[ Jack son Av ron Serializer ] Ġë ¥ ¼ ĠìĿ´ìļ© íķĺìĹ¬ Ġì§ ģ ëł ¬ íĻĶ ë¥¼ ĠìĪĺ íĸī íķľ Ġê²ĥ ìĿĦ ĠSn appy Ġë ¥ ¼ ĠìĿ´ìļ© íķĺìĹ¬ Ġìķ ķ ì¶ ķ ìĿĦ ĠìĪĺ íĸī íķ©ëĭĪëĭ¤ . Ċ Ġ*/ Ċ class ĠSn appy Av ro Jack son Serializer : ĠAv ro Jack son Serializer Decorator ( Jack son Av ron Serializer ()) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġ< T : ĠSpecific Record > Ġserialize ( graph : ĠT ?): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= Ġsuper . serialize ( graph ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif ( bytes . isNotEmpty ()) ĠSn appy . compress ( bytes ) Ġelse Ġempty ByteArray ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġ< T : ĠSpecific Record > Ġdeserialize ( bytes : ĠByteArray ?, Ġclazz : ĠClass < T >): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( bytes Ġ== Ġnull Ġ|| Ġbytes . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . deserialize ( Sn appy . un compress ( bytes ), Ġclazz ) ĊĠĠĠ Ġ} Ċ }