package Ġcom . xm art labs . big bang . core . helper . gson adapters Ċ Ċ import Ġcom . google . gson . Json Deserialization Context Ċ import Ġcom . google . gson . Json Deserializer Ċ import Ġcom . google . gson . Json Element Ċ import Ġcom . google . gson . Json Primitive Ċ import Ġcom . google . gson . Json Serialization Context Ċ import Ġcom . google . gson . Json Serializer Ċ import Ġcom . xm art labs . big bang . core . extensions . if Exception Ċ import Ġcom . xm art labs . big bang . core . extensions . local Date from Epoch Milli Ċ import Ġcom . xm art labs . big bang . core . extensions . to Instant Ċ import Ġorg . th reet en . bp . LocalDate Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . lang . reflect . Type Ċ Ċ class ĠM illiseconds LocalDate Adapter Ġ: ĠJsonSerializer < LocalDate >, ĠJson Deserializer < LocalDate > Ġ{ ĊĠ Ġ@ Synchron ized ĊĠ Ġoverride Ġfun Ġserialize ( date : ĠLocalDate ?, Ġtype : ĠType ?, Ġjson Serialization Context : ĠJson Serialization Context ?) Ġ= ĊĠĠĠĠĠ Ġdate ?. to Instant () ĊĠĠĠĠĠĠĠĠĠ Ġ? . to Epoch Milli () ĊĠĠĠĠĠĠĠĠĠ Ġ. if Exception (:: Json Primitive ) Ġ{ ĠTim ber . e ( it , Ġ" Date Ġcannot Ġbe Ġserialized , Ġdate ='% s '", Ġdate ) Ġ} ĊĠĠĊĠ Ġ@ Synchron ized ĊĠ Ġoverride Ġfun Ġdeserialize ( json Element : ĠJson Element ?, Ġtype : ĠType ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson Deserialization Context : ĠJson Deserialization Context ?) Ġ= ĊĠĠĠĠĠ Ġjson Element ĊĠĠĠĠĠĠĠĠĠ Ġ? . let ( Json Element :: toString ) ĊĠĠĠĠĠĠĠĠĠ Ġ? . take If ( String :: isNotEmpty ) ĊĠĠĠĠĠĠĠĠĠ Ġ? . let ( String :: to Long ) ĊĠĠĠĠĠĠĠĠĠ Ġ? . if Exception (:: local Date from Epoch Milli ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it , Ġ" Date Ġcannot Ġbe Ġparsed , Ġdate ='% s '", Ġjson Element ) ĊĠĠĠĠĠĠĠĠĠ Ġ} Ċ } Ċ