package Ġcom . a em tools . common . util Ċ Ċ import Ġjava . io . ByteArray InputStream Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . Object InputStream Ċ import Ġjava . io . Object OutputStream Ċ import Ġjava . io . Serializable Ċ Ċ /** Ċ Ġ* Ġ@ author ĠD my tro ĠPrim sh y ts Ċ Ġ*/ Ċ object ĠObject Serializer Ġ{ ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠSerialize Ġgiven Ġobject Ġinto Ġ[ String ] Ġusing Ġ[ Object OutputStream ]. ĊĠĠ Ġ* Ġ@ param Ġobj Ġobject Ġto Ġserialize ĊĠĠ Ġ* Ġ@ see ĠObject InputStream ĊĠĠ Ġ* Ġ@ return Ġthe Ġserialization Ġresult , Ġempty Ġstring Ġfor Ġ_ null _ Ġinput ĊĠĠ Ġ*/ ĊĠ Ġfun Ġ< T Ġ: ĠSerializable > Ġserialize ( obj : ĠT ?): ĠString Ġ{ ĊĠĠĠ Ġif Ġ( obj Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġobj . serialize To ByteArray (). toString ( charset (" ISO - 8 8 5 9 - 1 ")) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġ ĠSerialize Ġgiven Ġ[ Serializable ] Ġobject Ġinto Ġ[ ByteArray ] Ġusing Ġ[ Object OutputStream ]. ĊĠĠ Ġ* Ġ Ġ@ param Ġobj Ġobject Ġto Ġserialize ĊĠĠ Ġ* Ġ Ġ@ return Ġbyte Ġarray ĊĠĠ Ġ*/ ĊĠ Ġfun Ġ< T Ġ: ĠSerializable > Ġserialize To ByteArray ( obj : ĠT ?): ĠByteArray Ġ{ ĊĠĠĠ Ġif Ġ( obj Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġreturn ĠByteArray ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġba os Ġ= ĠByteArrayOutputStream () ĊĠĠĠ Ġval Ġo os Ġ= ĠObject OutputStream ( ba os ) ĊĠĠĠ Ġo os . write Object ( obj ) ĊĠĠĠ Ġo os . close () ĊĊĠĠĠ Ġreturn Ġba os . toByteArray () ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠDeserialize Ġgiven Ġ[ String ] Ġusing Ġ[ Object InputStream ]. ĊĠĠ Ġ* Ġ@ param Ġstring Ġthe Ġstring Ġto Ġdeserialize ĊĠĠ Ġ* Ġ@ return Ġdeserialized Ġobject , Ġ_ null _ Ġin Ġcase Ġof Ġerror . ĊĠĠ Ġ*/ ĊĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠ Ġfun Ġ< T Ġ: ĠSerializable > Ġdeserialize ( string : ĠString ): ĠT ? Ġ= ĊĠĠĠĠĠ Ġdeserialize ( string . toByteArray ( charset (" ISO - 8 8 5 9 - 1 "))) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠDeserialize Ġgiven Ġ[ ByteArray ] Ġusing Ġ[ Object InputStream ]. ĊĠĠ Ġ* Ġ@ param ĠbyteArray Ġthe Ġarray Ġto Ġdeserialize ĊĠĠ Ġ* Ġ@ return Ġdeserialized Ġobject , Ġ_ null _ Ġin Ġcase Ġof Ġerror . ĊĠĠ Ġ*/ ĊĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠ Ġfun Ġ< T Ġ: ĠSerializable > Ġdeserialize ( byteArray : ĠByteArray ): ĠT ? Ġ{ ĊĠĠĠ Ġif Ġ( byteArray . isEmpty ()) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġb ais Ġ= ĠByteArrayInputStream ( byteArray ) ĊĠĠĠ Ġval Ġo is Ġ= ĠObject InputStream ( ba is ) ĊĊĠĠĠ Ġreturn Ġo is . read Object () Ġas ĠT ĊĠ Ġ} Ċ Ċ } Ċ Ċ /** Ċ Ġ* ĠSerialize Ġcurrent Ġ[ Serializable ]. Ċ Ġ* ĠThe Ġshortcut Ġfor Ġ[ Object Serializer . serialize ] Ġmethod . Ċ Ġ* Ġ@ receiver Ġ[ Serializable ] Ċ Ġ* Ġ@ see ĠObject Serializer . serialize Ċ Ġ*/ Ċ fun ĠSerializable . serialize (): ĠString Ġ= ĠObject Serializer . serialize ( this ) Ċ Ċ /** Ċ Ġ* ĠSerialize Ġcurrent Ġ[ Serializable ] Ġinto Ġ[ ByteArray ]. Ċ Ġ* ĠThe Ġshortcut Ġfor Ġ[ Object Serializer . serialize To ByteArray ] Ġmethod . Ċ Ġ* Ġ@ receiver Ġ[ Serializable ] Ċ Ġ* Ġ@ see ĠObject Serializer . serialize To ByteArray Ċ Ġ*/ Ċ fun ĠSerializable . serialize To ByteArray (): ĠByteArray Ġ= ĠObject Serializer . serialize To ByteArray ( this ) Ċ