package Ġsz . scaffold . event bus Ċ Ċ import Ġio . netty . util . Charset Util Ċ import Ġio . vertx . core . buffer . Buffer Ċ import Ġio . vertx . core . event bus . Message Codec Ċ import Ġsz . scaffold . tools . json . Json Ċ import Ġsz . scaffold . tools . json . to Short Json Ċ Ċ // Ċ // ĠCreated Ġby Ġkk Ġon Ġ 2 0 1 9 / 1 1 / 2 5 . Ċ // Ċ class ĠBean Message Codec < Bean Type Ġ: ĠAny >( private Ġval Ġbean Class : ĠClass < Bean Type >) Ġ: ĠMessage Codec < Bean Type , ĠBean Type > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġdecode From Wire ( pos : ĠInt , Ġbuffer : ĠBuffer ): ĠBean Type Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlength Ġ= Ġbuffer . getInt ( pos ) ĊĠĠĠĠĠĠĠ Ġval Ġstart Pos Ġ= Ġpos Ġ+ Ġ 4 ĊĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= Ġbuffer . getBytes ( start Pos , Ġstart Pos Ġ+ Ġlength ) ĊĠĠĠĠĠĠĠ Ġval Ġjson Str Ġ= ĠString ( bytes , ĠCharset Util . UTF _ 8 ) ĊĠĠĠĠĠĠĠ Ġreturn ĠJson . fromJson String ( json Str , Ġbean Class ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsystem Codec ID (): ĠByte Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġencode To Wire ( buffer : ĠBuffer , Ġs : ĠBean Type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Str Ġ= Ġs . to Short Json () ĊĠĠĠĠĠĠĠ Ġval Ġstr Bytes : ĠByteArray Ġ= Ġjson Str . toByteArray ( Charset Util . UTF _ 8 ) ĊĠĠĠĠĠĠĠ Ġbuffer . append Int ( str Bytes . size ) ĊĠĠĠĠĠĠĠ Ġbuffer . append Bytes ( str Bytes ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtransform ( s : ĠBean Type ): ĠBean Type Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġs ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġname (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbean Class . name ĊĠĠĠ Ġ} Ċ Ċ }