package Ġcom . j dia z can o . cfg 4 k . parsers Ċ Ċ import Ġcom . j dia z can o . cfg 4 k . core . Config Context Ċ import Ġcom . j dia z can o . cfg 4 k . core . Config Object Ċ import Ġcom . j dia z can o . cfg 4 k . utils . Type Structure Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Offset DateTime Ċ import Ġjava . time . Offset Time Ċ import Ġjava . time . Zone Id Ċ import Ġjava . time . Z onedDateTime Ċ import Ġjava . time . format . DateTime Formatter Ċ import Ġjava . util . Calendar Ċ import Ġjava . util . Date Ċ import Ġjava . util . Locale Ċ Ċ class ĠDate Parser ( private Ġval Ġformat : ĠString , Ġprivate Ġval Ġlocale : ĠLocale Ġ= ĠLocale . getDefault ()) Ġ: ĠParser < Date > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġparse ( context : ĠConfig Context , Ġvalue : ĠConfig Object , Ġtype Structure : ĠType Structure ): ĠDate Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSimpleDateFormat ( format , Ġlocale ). parse ( value . asString ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠLocalDateTime Parser Ġprivate Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlocale : ĠLocale , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġzone : ĠZone Id Ċ ) Ġ: ĠParser < LocalDateTime > Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġformat : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġformatter : ĠDateTime Formatter ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformat : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġzone : ĠZone Id Ġ= ĠZone Id . system Default () ĊĠĠĠ Ġ) Ġ: Ġthis ( locale , Ġzone ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . format Ġ= Ġformat ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformatter : ĠDateTime Formatter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġzone : ĠZone Id Ġ= ĠZone Id . system Default () ĊĠĠĠ Ġ) Ġ: Ġthis ( locale , Ġzone ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . formatter Ġ= Ġformatter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġparse ( context : ĠConfig Context , Ġvalue : ĠConfig Object , Ġtype Structure : ĠType Structure ): ĠLocalDateTime Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( formatter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠLocalDateTime . parse ( value . asString (), Ġformatter ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠLocalDateTime . parse ( value . asString (), ĠDateTime Formatter . of Pattern ( format , Ġlocale ). with Zone ( zone )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠLocalDate Parser Ġprivate Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlocale : ĠLocale , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġzone : ĠZone Id Ċ ) Ġ: ĠParser < LocalDate > Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġformat : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġformatter : ĠDateTime Formatter ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformat : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġzone : ĠZone Id Ġ= ĠZone Id . system Default () ĊĠĠĠ Ġ) Ġ: Ġthis ( locale , Ġzone ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . format Ġ= Ġformat ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformatter : ĠDateTime Formatter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġzone : ĠZone Id Ġ= ĠZone Id . system Default () ĊĠĠĠ Ġ) Ġ: Ġthis ( locale , Ġzone ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . formatter Ġ= Ġformatter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġparse ( context : ĠConfig Context , Ġvalue : ĠConfig Object , Ġtype Structure : ĠType Structure ): ĠLocalDate Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( formatter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠLocalDate . parse ( value . asString (), Ġformatter ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠLocalDate . parse ( value . asString (), ĠDateTime Formatter . of Pattern ( format , Ġlocale ). with Zone ( zone )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠZ onedDateTime Parser Ġprivate Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlocale : ĠLocale , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġzone : ĠZone Id Ċ ) Ġ: ĠParser < Z onedDateTime > Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġformat : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġformatter : ĠDateTime Formatter ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformat : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġzone : ĠZone Id Ġ= ĠZone Id . system Default () ĊĠĠĠ Ġ) Ġ: Ġthis ( locale , Ġzone ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . format Ġ= Ġformat ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformatter : ĠDateTime Formatter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġzone : ĠZone Id Ġ= ĠZone Id . system Default () ĊĠĠĠ Ġ) Ġ: Ġthis ( locale , Ġzone ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . formatter Ġ= Ġformatter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġparse ( context : ĠConfig Context , Ġvalue : ĠConfig Object , Ġtype Structure : ĠType Structure ): ĠZ onedDateTime Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( formatter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠZ onedDateTime . parse ( value . asString (), Ġformatter ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠZ onedDateTime . parse ( value . asString (), ĠDateTime Formatter . of Pattern ( format , Ġlocale ). with Zone ( zone )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠOffset DateTime Parser Ġprivate Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlocale : ĠLocale , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġzone : ĠZone Id Ċ ) Ġ: ĠParser < Offset DateTime > Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġformat : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġformatter : ĠDateTime Formatter ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformat : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġzone : ĠZone Id Ġ= ĠZone Id . system Default () ĊĠĠĠ Ġ) Ġ: Ġthis ( locale , Ġzone ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . format Ġ= Ġformat ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformatter : ĠDateTime Formatter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġzone : ĠZone Id Ġ= ĠZone Id . system Default () ĊĠĠĠ Ġ) Ġ: Ġthis ( locale , Ġzone ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . formatter Ġ= Ġformatter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġparse ( context : ĠConfig Context , Ġvalue : ĠConfig Object , Ġtype Structure : ĠType Structure ): ĠOffset DateTime Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( formatter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOffset DateTime . parse ( value . asString (), Ġformatter ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOffset DateTime . parse ( value . asString (), ĠDateTime Formatter . of Pattern ( format , Ġlocale ). with Zone ( zone )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠOffset Time Parser Ġprivate Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlocale : ĠLocale , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġzone : ĠZone Id Ċ ) Ġ: ĠParser < Offset Time > Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġformat : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġformatter : ĠDateTime Formatter ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformat : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġzone : ĠZone Id Ġ= ĠZone Id . system Default () ĊĠĠĠ Ġ) Ġ: Ġthis ( locale , Ġzone ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . format Ġ= Ġformat ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformatter : ĠDateTime Formatter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġzone : ĠZone Id Ġ= ĠZone Id . system Default () ĊĠĠĠ Ġ) Ġ: Ġthis ( locale , Ġzone ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . formatter Ġ= Ġformatter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġparse ( context : ĠConfig Context , Ġvalue : ĠConfig Object , Ġtype Structure : ĠType Structure ): ĠOffset Time Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( formatter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOffset Time . parse ( value . asString (), Ġformatter ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOffset Time . parse ( value . asString (), ĠDateTime Formatter . of Pattern ( format , Ġlocale ). with Zone ( zone )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠCalendar Parser ( private Ġval Ġformat : ĠString , Ġprivate Ġval Ġlocale : ĠLocale Ġ= ĠLocale . getDefault ()) Ġ: ĠParser < Calendar > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġparse ( context : ĠConfig Context , Ġvalue : ĠConfig Object , Ġtype Structure : ĠType Structure ): ĠCalendar Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance ( locale ) ĊĠĠĠĠĠĠĠ Ġcalendar . time Ġ= ĠSimpleDateFormat ( format , Ġlocale ). parse ( value . asString ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġcalendar ĊĠĠĠ Ġ} Ċ }