package Ġp izz k . android . js . n atives Ċ Ċ import Ġcom . fasterxml . jackson . core . type . Type Reference Ċ import Ġcom . fasterxml . jackson . databind . Deserialization Feature Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ interface ĠJson Parcel Ġ{ ĊĠĠĠ Ġfun Ġstring ( value : ĠAny ): ĠString ĊĊĠĠĠ Ġfun Ġ< T > Ġparse ( value : ĠString , Ġclazz : ĠClass < T >): ĠT ? Ċ } ĊĊ Ċ object ĠJson Parcel Impl Ġ: ĠJson Parcel Ġ{ ĊĠĠĠ Ġprivate Ġval Ġmapper : ĠObjectMapper Ġby Ġlazy Ġ{ ĠObjectMapper () Ġ} ĊĠĠĠ Ġprivate Ġconst Ġval ĠDATE _ FORMAT Ġ= Ġ" yyyy - MM - dd ĠHH : mm : ss " ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġmapper . configure ( Deserialization Feature . FAIL _ ON _ UNKNOWN _ PROPERTIES , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġmapper . date Format Ġ= ĠSimpleDateFormat ( DATE _ FORMAT , ĠLocale . getDefault ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstring ( value : ĠAny ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġis ĠString ) Ġreturn Ġvalue ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmapper . writeValue AsString ( value ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun Ġ< T > Ġparse ( value : ĠString , Ġclazz : ĠClass < T >): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( clazz Ġ== ĠString :: class . java ) Ġreturn Ġvalue Ġas ? ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmapper . readValue ( value , Ġclazz ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġfun Ġ< T > Ġparse ( value : ĠString , Ġtf : ĠType Reference < T >): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmapper . readValue ( value , Ġtf ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }