/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠHP ĠDevelopment ĠCompany , ĠL . P . Ċ Ġ* ĠSPDX - License - Identifier : ĠMIT Ċ Ġ*/ Ċ Ċ package Ġcom . hp . k ale xa . model . json Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonInclude Ċ import Ġcom . fasterxml . jackson . databind . Deserialization Feature Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcom . fasterxml . jackson . databind . Serialization Feature Ċ import Ġcom . fasterxml . jackson . module . kotlin . jackson ObjectMapper Ċ import Ġcom . hp . k ale xa . model . exception . K ale xa SDK Exception Ċ import Ġcom . hp . k ale xa . model . request . Alex a Request Ċ import Ġjava . io . IOException Ċ import Ġjava . io . InputStream Ċ import Ġjava . io . OutputStream Ċ Ċ object ĠJack son Serializer Ġ{ ĊĊĠĠĠ Ġval ĠOBJECT _ MAP PER : ĠObjectMapper Ġ= Ġj ack son ObjectMapper () ĊĠĠĠĠĠĠĠ Ġ. configure ( Deserialization Feature . FAIL _ ON _ UNKNOWN _ PROPERTIES , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ. configure ( Deserialization Feature . READ _ ENUM S _ USING _ TO _ STRING , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ. configure ( Serialization Feature . WRITE _ DAT ES _ AS _ TIMESTAMP S , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ. set Serialization In clusion ( JsonInclude . Include . NON _ EMPTY ) ĊĊĠĠĠ Ġfun Ġfrom Json ( json : ĠString ): ĠAlex a Request < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOBJECT _ MAP PER . readValue ( json , ĠAlex a Request :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfrom Json ( json : ĠByteArray ): ĠAlex a Request < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOBJECT _ MAP PER . readValue ( json , ĠAlex a Request :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġserialize ( obj : ĠT ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOBJECT _ MAP PER . writeValue AsString ( obj ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠK ale xa SDK Exception (" Something Ġwent Ġwrong Ġwhile Ġserial izing Ġan Ġobject ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġserialize ( obj : ĠT , ĠoutputStream : ĠOutputStream ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOBJECT _ MAP PER . writeValue ( output Stream , Ġobj ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠK ale xa SDK Exception (" Something Ġwent Ġwrong Ġwhile Ġserial izing Ġan Ġobject ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġdeserialize ( s : ĠString , Ġclazz : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOBJECT _ MAP PER . readValue ( s , Ġclazz ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠK ale xa SDK Exception (" Something Ġwent Ġwrong Ġwhile Ġde serializing Ġan Ġobject ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġdeserialize ( input : ĠByteArray , Ġclazz : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOBJECT _ MAP PER . readValue ( input , Ġclazz ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠK ale xa SDK Exception (" Something Ġwent Ġwrong Ġwhile Ġde serializing Ġan Ġobject ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġdeserialize ( inputStream : ĠInputStream , Ġtype : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOBJECT _ MAP PER . readValue ( inputStream , Ġtype ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠK ale xa SDK Exception (" Something Ġwent Ġwrong Ġwhile Ġde serializing Ġan Ġobject ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġconvert ( any : ĠAny , Ġtype : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOBJECT _ MAP PER . convert Value ( any , Ġtype ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠK ale xa SDK Exception (" Something Ġwent Ġwrong Ġwhile Ġconverting Ġto Ġan Ġobject ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ