package Ġcom . github . j async . sql . db . column Ċ Ċ import Ġcom . github . j async . sql . db . exceptions . Date Encoder Not Available Exception Ċ import Ġjava . sql . Timestamp Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Zone Offset Ċ import Ġjava . time . Z onedDateTime Ċ import Ġjava . time . format . DateTime Formatter Builder Ċ import Ġjava . time . temporal . Temporal Accessor Ċ import Ġjava . util . Calendar Ċ import Ġjava . util . Date Ċ Ċ open Ġclass ĠTimestamp Encoder Decoder Ġ: ĠColumn Encoder Decoder Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBase Format Ġ= Ġ" yyyy - MM - dd ĠHH : mm : ss " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠM illis Format Ġ= Ġ". SSSS SS " ĊĠĠĠĠĠĠĠ Ġval ĠInstance Ġ= ĠTimestamp Encoder Decoder () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġoptional Ġ= ĠDateTime Formatter Builder () ĊĠĠĠĠĠĠĠ Ġ. append Pattern ( Millis Format ). to Formatter () ĊĠĠĠ Ġprivate Ġval Ġoptional TimeZone Ġ= ĠDateTime Formatter Builder () ĊĠĠĠĠĠĠĠ Ġ. append Pattern (" Z "). to Formatter () ĊĊĠĠĠ Ġprivate Ġval Ġbuilder Ġ= ĠDateTime Formatter Builder () ĊĠĠĠĠĠĠĠ Ġ. append Pattern ( Base Format ) ĊĠĠĠĠĠĠĠ Ġ. append Optional ( optional ) ĊĠĠĠĠĠĠĠ Ġ. append Optional ( optional TimeZone ) ĊĊĠĠĠ Ġprivate Ġval Ġtime zon ed Printer Ġ= ĠDateTime Formatter Builder () ĊĠĠĠĠĠĠĠ Ġ. append Pattern ("${ Base Format }${ Millis Format } Z "). to Formatter () ĊĊĠĠĠ Ġprivate Ġval Ġnon Time zon ed Printer Ġ= ĠDateTime Formatter Builder () ĊĠĠĠĠĠĠĠ Ġ. append Pattern ("${ Base Format }$ Millis Format "). to Formatter () ĊĊĠĠĠ Ġprivate Ġval Ġformat Ġ= Ġbuilder . to Formatter () ĊĊĠĠĠ Ġopen Ġfun Ġformatter () Ġ= Ġformat ĊĊĠĠĠ Ġoverride Ġfun Ġdecode ( value : ĠString ): ĠAny Ġ= ĠLocalDateTime . parse ( value , Ġformatter ()) ĊĊĠĠĠ Ġoverride Ġfun Ġencode ( value : ĠAny ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠTimestamp Ġ-> ĠZ onedDateTime . of Instant ( value . to Instant (), ĠZone Offset . UTC ). format ( this . time zon ed Printer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDate Ġ-> ĠZ onedDateTime . of Instant ( value . to Instant (), ĠZone Offset . UTC ). format ( this . time zon ed Printer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠCalendar Ġ-> ĠZ onedDateTime . of Instant ( value . to Instant (), ĠZone Offset . UTC ). format ( this . time zon ed Printer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLocalDateTime Ġ-> Ġvalue . format ( this . non Time zon ed Printer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠTemp oral Accessor Ġ-> Ġthis . time zon ed Printer . format ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠDate Encoder Not Available Exception ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ