package Ġcom . github . j async . sql . db . column Ċ Ċ import Ġcom . github . j async . sql . db . exceptions . Date Encoder Not Available Exception Ċ import Ġorg . joda . time . LocalDate Ċ import Ġorg . joda . time . Readable Partial Ċ import Ġorg . joda . time . format . DateTime Format Ċ Ċ object ĠDate Encoder Decoder Ġ: ĠColumn Encoder Decoder Ġ{ ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠZero ed Date Ġ= Ġ" 0 0 0 0 - 0 0 - 0 0 " ĊĊĠĠĠ Ġprivate Ġval Ġformatter Ġ= ĠDateTime Format . for Pattern (" yyyy - MM - dd ") ĊĊĠĠĠ Ġoverride Ġfun Ġdecode ( value : ĠString ): ĠLocalDate ? Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ( Zero ed Date Ġ== Ġvalue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . formatter . parse LocalDate ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġencode ( value : ĠAny ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Ġjava . sql . Date Ġ-> Ġthis . formatter . print ( LocalDate ( value )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠRead able Partial Ġ-> Ġthis . formatter . print ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠDate Encoder Not Available Exception ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ