├── .gitattributes ├── .github ├── dependabot.yml └── workflows │ ├── dep_build_v2.yml │ ├── dep_build_v3.yml │ └── main.yml ├── .gitignore ├── .mvn └── wrapper │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── .travis.yml ├── LICENSE ├── README.md ├── SECURITY.md ├── docs └── javadoc │ ├── 2.0.4 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaModule.html │ │ │ ├── class-use │ │ │ └── JodaModule.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ └── PeriodDeserializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ └── LocalTimeSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── resources │ │ └── inherit.gif │ └── stylesheet.css │ ├── 2.1.0 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaModule.html │ │ │ ├── class-use │ │ │ └── JodaModule.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ └── PeriodDeserializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ └── LocalTimeSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── resources │ │ └── inherit.gif │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.1.1 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaModule.html │ │ │ ├── class-use │ │ │ └── JodaModule.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ └── PeriodDeserializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ └── LocalTimeSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── resources │ │ └── inherit.gif │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.10 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ ├── PackageVersion.html │ │ │ ├── cfg │ │ │ ├── FormatConfig.html │ │ │ ├── JacksonJodaDateFormat.html │ │ │ ├── JacksonJodaPeriodFormat.html │ │ │ ├── class-use │ │ │ │ ├── FormatConfig.html │ │ │ │ ├── JacksonJodaDateFormat.html │ │ │ │ └── JacksonJodaPeriodFormat.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── class-use │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ └── PackageVersion.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── JodaDateDeserializerBase.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── MonthDayDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── YearMonthDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── JodaDateDeserializerBase.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ ├── MonthDayDeserializer.html │ │ │ │ ├── PeriodDeserializer.html │ │ │ │ └── YearMonthDeserializer.html │ │ │ ├── key │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ ├── DurationKeyDeserializer.html │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ ├── PeriodKeyDeserializer.html │ │ │ │ ├── class-use │ │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ │ ├── DurationKeyDeserializer.html │ │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ │ └── PeriodKeyDeserializer.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── MonthDaySerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ ├── YearMonthSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── MonthDaySerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ └── YearMonthSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── javadoc.sh │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── script.js │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.11 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ ├── PackageVersion.html │ │ │ ├── cfg │ │ │ ├── FormatConfig.html │ │ │ ├── JacksonJodaDateFormat.html │ │ │ ├── JacksonJodaPeriodFormat.html │ │ │ ├── class-use │ │ │ │ ├── FormatConfig.html │ │ │ │ ├── JacksonJodaDateFormat.html │ │ │ │ └── JacksonJodaPeriodFormat.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── class-use │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ └── PackageVersion.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── JodaDateDeserializerBase.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── MonthDayDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── YearMonthDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── JodaDateDeserializerBase.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ ├── MonthDayDeserializer.html │ │ │ │ ├── PeriodDeserializer.html │ │ │ │ └── YearMonthDeserializer.html │ │ │ ├── key │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ ├── DurationKeyDeserializer.html │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ ├── PeriodKeyDeserializer.html │ │ │ │ ├── class-use │ │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ │ ├── DurationKeyDeserializer.html │ │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ │ └── PeriodKeyDeserializer.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── MonthDaySerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ ├── YearMonthSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── MonthDaySerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ └── YearMonthSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── package-list │ ├── script.js │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.12 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ ├── PackageVersion.html │ │ │ ├── cfg │ │ │ ├── FormatConfig.html │ │ │ ├── JacksonJodaDateFormat.html │ │ │ ├── JacksonJodaPeriodFormat.html │ │ │ ├── class-use │ │ │ │ ├── FormatConfig.html │ │ │ │ ├── JacksonJodaDateFormat.html │ │ │ │ └── JacksonJodaPeriodFormat.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── class-use │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ └── PackageVersion.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── JodaDateDeserializerBase.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── MonthDayDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── YearMonthDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── JodaDateDeserializerBase.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ ├── MonthDayDeserializer.html │ │ │ │ ├── PeriodDeserializer.html │ │ │ │ └── YearMonthDeserializer.html │ │ │ ├── key │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ ├── DurationKeyDeserializer.html │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ ├── PeriodKeyDeserializer.html │ │ │ │ ├── class-use │ │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ │ ├── DurationKeyDeserializer.html │ │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ │ └── PeriodKeyDeserializer.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── MonthDaySerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ ├── YearMonthSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── MonthDaySerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ └── YearMonthSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── package-list │ ├── script.js │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.13 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ ├── PackageVersion.html │ │ │ ├── cfg │ │ │ ├── FormatConfig.html │ │ │ ├── JacksonJodaDateFormat.html │ │ │ ├── JacksonJodaPeriodFormat.html │ │ │ ├── class-use │ │ │ │ ├── FormatConfig.html │ │ │ │ ├── JacksonJodaDateFormat.html │ │ │ │ └── JacksonJodaPeriodFormat.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── class-use │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ └── PackageVersion.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── JodaDateDeserializerBase.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── MonthDayDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── YearMonthDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── JodaDateDeserializerBase.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ ├── MonthDayDeserializer.html │ │ │ │ ├── PeriodDeserializer.html │ │ │ │ └── YearMonthDeserializer.html │ │ │ ├── key │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ ├── DurationKeyDeserializer.html │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ ├── PeriodKeyDeserializer.html │ │ │ │ ├── class-use │ │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ │ ├── DurationKeyDeserializer.html │ │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ │ └── PeriodKeyDeserializer.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── MonthDaySerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ ├── YearMonthSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── MonthDaySerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ └── YearMonthSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── package-list │ ├── script.js │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.2.0 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaModule.html │ │ │ ├── PackageVersion.html │ │ │ ├── class-use │ │ │ ├── JodaModule.html │ │ │ └── PackageVersion.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ └── PeriodDeserializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ └── LocalTimeSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── resources │ │ ├── background.gif │ │ ├── tab.gif │ │ ├── titlebar.gif │ │ └── titlebar_end.gif │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.3.0 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ ├── PackageVersion.html │ │ │ ├── class-use │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ └── PackageVersion.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ └── PeriodDeserializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ └── LocalTimeSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── resources │ │ ├── background.gif │ │ ├── tab.gif │ │ ├── titlebar.gif │ │ └── titlebar_end.gif │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.4 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ ├── PackageVersion.html │ │ │ ├── class-use │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ └── PackageVersion.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── MonthDayDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── ReadablePeriodDeserializer.html │ │ │ ├── YearMonthDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ ├── MonthDayDeserializer.html │ │ │ │ ├── PeriodDeserializer.html │ │ │ │ ├── ReadablePeriodDeserializer.html │ │ │ │ └── YearMonthDeserializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JacksonJodaFormat.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JacksonJodaFormat.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ └── PeriodSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── resources │ │ ├── background.gif │ │ ├── tab.gif │ │ ├── titlebar.gif │ │ └── titlebar_end.gif │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.5 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ ├── PackageVersion.html │ │ │ ├── cfg │ │ │ ├── FormatConfig.html │ │ │ ├── JacksonJodaDateFormat.html │ │ │ ├── JacksonJodaPeriodFormat.html │ │ │ ├── class-use │ │ │ │ ├── FormatConfig.html │ │ │ │ ├── JacksonJodaDateFormat.html │ │ │ │ └── JacksonJodaPeriodFormat.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── class-use │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ └── PackageVersion.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── MonthDayDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── YearMonthDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ ├── MonthDayDeserializer.html │ │ │ │ ├── PeriodDeserializer.html │ │ │ │ └── YearMonthDeserializer.html │ │ │ ├── key │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ ├── class-use │ │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ │ └── LocalTimeKeyDeserializer.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ └── PeriodSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── resources │ │ ├── background.gif │ │ ├── tab.gif │ │ ├── titlebar.gif │ │ └── titlebar_end.gif │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.6 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ ├── PackageVersion.html │ │ │ ├── cfg │ │ │ ├── FormatConfig.html │ │ │ ├── JacksonJodaDateFormat.html │ │ │ ├── JacksonJodaPeriodFormat.html │ │ │ ├── class-use │ │ │ │ ├── FormatConfig.html │ │ │ │ ├── JacksonJodaDateFormat.html │ │ │ │ └── JacksonJodaPeriodFormat.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── class-use │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ └── PackageVersion.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── JodaDateDeserializerBase.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── MonthDayDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── YearMonthDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── JodaDateDeserializerBase.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ ├── MonthDayDeserializer.html │ │ │ │ ├── PeriodDeserializer.html │ │ │ │ └── YearMonthDeserializer.html │ │ │ ├── key │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ ├── class-use │ │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ │ └── LocalTimeKeyDeserializer.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ └── PeriodSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── resources │ │ ├── background.gif │ │ ├── tab.gif │ │ ├── titlebar.gif │ │ └── titlebar_end.gif │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.7 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ ├── PackageVersion.html │ │ │ ├── cfg │ │ │ ├── FormatConfig.html │ │ │ ├── JacksonJodaDateFormat.html │ │ │ ├── JacksonJodaPeriodFormat.html │ │ │ ├── class-use │ │ │ │ ├── FormatConfig.html │ │ │ │ ├── JacksonJodaDateFormat.html │ │ │ │ └── JacksonJodaPeriodFormat.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── class-use │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ └── PackageVersion.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── JodaDateDeserializerBase.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── MonthDayDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── YearMonthDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── JodaDateDeserializerBase.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ ├── MonthDayDeserializer.html │ │ │ │ ├── PeriodDeserializer.html │ │ │ │ └── YearMonthDeserializer.html │ │ │ ├── key │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ ├── class-use │ │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ │ └── LocalTimeKeyDeserializer.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ └── PeriodSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── resources │ │ ├── background.gif │ │ ├── tab.gif │ │ ├── titlebar.gif │ │ └── titlebar_end.gif │ ├── serialized-form.html │ └── stylesheet.css │ ├── 2.8 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ │ └── fasterxml │ │ │ └── jackson │ │ │ └── datatype │ │ │ └── joda │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ ├── PackageVersion.html │ │ │ ├── cfg │ │ │ ├── FormatConfig.html │ │ │ ├── JacksonJodaDateFormat.html │ │ │ ├── JacksonJodaPeriodFormat.html │ │ │ ├── class-use │ │ │ │ ├── FormatConfig.html │ │ │ │ ├── JacksonJodaDateFormat.html │ │ │ │ └── JacksonJodaPeriodFormat.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── class-use │ │ │ ├── JodaMapper.html │ │ │ ├── JodaModule.html │ │ │ └── PackageVersion.html │ │ │ ├── deser │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── JodaDateDeserializerBase.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── MonthDayDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ ├── YearMonthDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateMidnightDeserializer.html │ │ │ │ ├── DateTimeDeserializer.html │ │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ │ ├── DurationDeserializer.html │ │ │ │ ├── InstantDeserializer.html │ │ │ │ ├── IntervalDeserializer.html │ │ │ │ ├── JodaDateDeserializerBase.html │ │ │ │ ├── LocalDateDeserializer.html │ │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ │ ├── LocalTimeDeserializer.html │ │ │ │ ├── MonthDayDeserializer.html │ │ │ │ ├── PeriodDeserializer.html │ │ │ │ └── YearMonthDeserializer.html │ │ │ ├── key │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ ├── DurationKeyDeserializer.html │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ ├── PeriodKeyDeserializer.html │ │ │ │ ├── class-use │ │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ │ ├── DurationKeyDeserializer.html │ │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ │ └── PeriodKeyDeserializer.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ ├── package-use.html │ │ │ └── ser │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ ├── PeriodSerializer.html │ │ │ ├── class-use │ │ │ ├── DateMidnightSerializer.html │ │ │ ├── DateTimeSerializer.html │ │ │ ├── DateTimeZoneSerializer.html │ │ │ ├── DurationSerializer.html │ │ │ ├── InstantSerializer.html │ │ │ ├── IntervalSerializer.html │ │ │ ├── JodaDateSerializerBase.html │ │ │ ├── LocalDateSerializer.html │ │ │ ├── LocalDateTimeSerializer.html │ │ │ ├── LocalTimeSerializer.html │ │ │ └── PeriodSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── resources │ │ ├── background.gif │ │ ├── tab.gif │ │ ├── titlebar.gif │ │ └── titlebar_end.gif │ ├── serialized-form.html │ └── stylesheet.css │ └── 2.9 │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── com │ └── fasterxml │ │ └── jackson │ │ └── datatype │ │ └── joda │ │ ├── JodaMapper.html │ │ ├── JodaModule.html │ │ ├── PackageVersion.html │ │ ├── cfg │ │ ├── FormatConfig.html │ │ ├── JacksonJodaDateFormat.html │ │ ├── JacksonJodaPeriodFormat.html │ │ ├── class-use │ │ │ ├── FormatConfig.html │ │ │ ├── JacksonJodaDateFormat.html │ │ │ └── JacksonJodaPeriodFormat.html │ │ ├── package-frame.html │ │ ├── package-summary.html │ │ ├── package-tree.html │ │ └── package-use.html │ │ ├── class-use │ │ ├── JodaMapper.html │ │ ├── JodaModule.html │ │ └── PackageVersion.html │ │ ├── deser │ │ ├── DateMidnightDeserializer.html │ │ ├── DateTimeDeserializer.html │ │ ├── DateTimeZoneDeserializer.html │ │ ├── DurationDeserializer.html │ │ ├── InstantDeserializer.html │ │ ├── IntervalDeserializer.html │ │ ├── JodaDateDeserializerBase.html │ │ ├── LocalDateDeserializer.html │ │ ├── LocalDateTimeDeserializer.html │ │ ├── LocalTimeDeserializer.html │ │ ├── MonthDayDeserializer.html │ │ ├── PeriodDeserializer.html │ │ ├── YearMonthDeserializer.html │ │ ├── class-use │ │ │ ├── DateMidnightDeserializer.html │ │ │ ├── DateTimeDeserializer.html │ │ │ ├── DateTimeZoneDeserializer.html │ │ │ ├── DurationDeserializer.html │ │ │ ├── InstantDeserializer.html │ │ │ ├── IntervalDeserializer.html │ │ │ ├── JodaDateDeserializerBase.html │ │ │ ├── LocalDateDeserializer.html │ │ │ ├── LocalDateTimeDeserializer.html │ │ │ ├── LocalTimeDeserializer.html │ │ │ ├── MonthDayDeserializer.html │ │ │ ├── PeriodDeserializer.html │ │ │ └── YearMonthDeserializer.html │ │ ├── key │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ ├── DurationKeyDeserializer.html │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ ├── PeriodKeyDeserializer.html │ │ │ ├── class-use │ │ │ │ ├── DateTimeKeyDeserializer.html │ │ │ │ ├── DurationKeyDeserializer.html │ │ │ │ ├── LocalDateKeyDeserializer.html │ │ │ │ ├── LocalDateTimeKeyDeserializer.html │ │ │ │ ├── LocalTimeKeyDeserializer.html │ │ │ │ └── PeriodKeyDeserializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── package-frame.html │ │ ├── package-summary.html │ │ ├── package-tree.html │ │ └── package-use.html │ │ ├── package-frame.html │ │ ├── package-summary.html │ │ ├── package-tree.html │ │ ├── package-use.html │ │ └── ser │ │ ├── DateMidnightSerializer.html │ │ ├── DateTimeSerializer.html │ │ ├── DateTimeZoneSerializer.html │ │ ├── DurationSerializer.html │ │ ├── InstantSerializer.html │ │ ├── IntervalSerializer.html │ │ ├── JodaDateSerializerBase.html │ │ ├── LocalDateSerializer.html │ │ ├── LocalDateTimeSerializer.html │ │ ├── LocalTimeSerializer.html │ │ ├── PeriodSerializer.html │ │ ├── class-use │ │ ├── DateMidnightSerializer.html │ │ ├── DateTimeSerializer.html │ │ ├── DateTimeZoneSerializer.html │ │ ├── DurationSerializer.html │ │ ├── InstantSerializer.html │ │ ├── IntervalSerializer.html │ │ ├── JodaDateSerializerBase.html │ │ ├── LocalDateSerializer.html │ │ ├── LocalDateTimeSerializer.html │ │ ├── LocalTimeSerializer.html │ │ └── PeriodSerializer.html │ │ ├── package-frame.html │ │ ├── package-summary.html │ │ ├── package-tree.html │ │ └── package-use.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── resources │ ├── background.gif │ ├── tab.gif │ ├── titlebar.gif │ └── titlebar_end.gif │ ├── serialized-form.html │ └── stylesheet.css ├── mvnw ├── mvnw.cmd ├── pom.xml ├── release-notes ├── CREDITS-2.x └── VERSION-2.x └── src ├── main ├── java │ └── com │ │ └── fasterxml │ │ └── jackson │ │ └── datatype │ │ └── joda │ │ ├── JodaMapper.java │ │ ├── JodaModule.java │ │ ├── PackageVersion.java.in │ │ ├── cfg │ │ ├── FormatConfig.java │ │ ├── JacksonJodaDateFormat.java │ │ ├── JacksonJodaFormatBase.java │ │ └── JacksonJodaPeriodFormat.java │ │ ├── deser │ │ ├── DateMidnightDeserializer.java │ │ ├── DateTimeDeserializer.java │ │ ├── DateTimeZoneDeserializer.java │ │ ├── DurationDeserializer.java │ │ ├── InstantDeserializer.java │ │ ├── IntervalDeserializer.java │ │ ├── JodaDateDeserializerBase.java │ │ ├── JodaDeserializerBase.java │ │ ├── LocalDateDeserializer.java │ │ ├── LocalDateTimeDeserializer.java │ │ ├── LocalTimeDeserializer.java │ │ ├── MonthDayDeserializer.java │ │ ├── PeriodDeserializer.java │ │ ├── YearMonthDeserializer.java │ │ └── key │ │ │ ├── DateTimeKeyDeserializer.java │ │ │ ├── DurationKeyDeserializer.java │ │ │ ├── JodaKeyDeserializer.java │ │ │ ├── LocalDateKeyDeserializer.java │ │ │ ├── LocalDateTimeKeyDeserializer.java │ │ │ ├── LocalTimeKeyDeserializer.java │ │ │ └── PeriodKeyDeserializer.java │ │ └── ser │ │ ├── DateMidnightSerializer.java │ │ ├── DateTimeSerializer.java │ │ ├── DateTimeZoneSerializer.java │ │ ├── DaysSerializer.java │ │ ├── DurationSerializer.java │ │ ├── HoursSerializer.java │ │ ├── InstantSerializer.java │ │ ├── IntervalSerializer.java │ │ ├── JodaDateSerializerBase.java │ │ ├── JodaSerializerBase.java │ │ ├── LocalDateSerializer.java │ │ ├── LocalDateTimeSerializer.java │ │ ├── LocalTimeSerializer.java │ │ ├── MinutesSerializer.java │ │ ├── MonthDaySerializer.java │ │ ├── MonthsSerializer.java │ │ ├── PeriodSerializer.java │ │ ├── SecondsSerializer.java │ │ ├── WeeksSerializer.java │ │ ├── YearMonthSerializer.java │ │ └── YearsSerializer.java └── resources │ └── META-INF │ ├── LICENSE │ └── services │ └── com.fasterxml.jackson.databind.Module ├── moditect └── module-info.java └── test └── java └── com └── fasterxml └── jackson └── datatype └── joda ├── AnnotationTest.java ├── DateTimeTest.java ├── JodaMapperTest.java ├── JodaTestBase.java ├── MixedListTest.java ├── ModuleSPIMetadataTest.java ├── TestVersions.java ├── TimeZoneTest.java ├── depr └── DateMidnightTest.java ├── deser ├── DateTimeDeserTest.java ├── DateTimeZoneDeserTest.java ├── DurationDeserializationTest.java ├── InstantDeserTest.java ├── IntervalDeserTest.java ├── KeyDeserTest.java ├── LocalDateDeserTest.java ├── LocalDateTimeDeserTest.java ├── LocalTimeDeserTest.java ├── MonthDayDeserTest.java ├── PeriodDeserializationTest.java ├── ReadablePeriodDeserializerTest.java └── YearMonthDeserTest.java ├── ser ├── DateTimeOwnZoneSerialization92Test.java ├── DateTimeSerializationWithOffsets146Test.java ├── DaysSerializationTest.java ├── InstantSerializationTest.java ├── IntervalSerializationTest.java ├── JodaSerializationTest.java ├── JsonFormatTimeZoneWithPattern98Test.java └── WriteZoneIdTest.java └── testutil └── failure ├── JacksonTestFailureExpected.java ├── JacksonTestFailureExpectedInterceptor.java └── JacksonTestShouldFailException.java /.gitattributes: -------------------------------------------------------------------------------- 1 | # Do not merge `pom.xml` from older version, as it will typically conflict 2 | 3 | pom.xml merge=ours 4 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "github-actions" 4 | directory: "/" 5 | schedule: 6 | interval: "monthly" 7 | groups: 8 | github-actions: 9 | patterns: 10 | - "*" 11 | -------------------------------------------------------------------------------- /.github/workflows/dep_build_v2.yml: -------------------------------------------------------------------------------- 1 | name: Re-build on jackson-databind v2 push 2 | on: 3 | repository_dispatch: 4 | types: [jackson-databind-pushed] 5 | # just for testing 6 | workflow_dispatch: 7 | 8 | permissions: 9 | contents: read 10 | 11 | jobs: 12 | build: 13 | # Do we want wide matrix build? For now, limited 14 | runs-on: ubuntu-latest 15 | strategy: 16 | fail-fast: false 17 | matrix: 18 | java_version: ['8', '17', '21'] 19 | env: 20 | JAVA_OPTS: "-XX:+TieredCompilation -XX:TieredStopAtLevel=1" 21 | steps: 22 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 23 | with: 24 | ref: 2.x 25 | - name: Set up JDK 26 | uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 27 | with: 28 | distribution: 'temurin' 29 | java-version: ${{ matrix.java_version }} 30 | cache: 'maven' 31 | - name: Build and test 32 | run: ./mvnw -B -ff -ntp clean verify 33 | 34 | # No recursive rebuild (yet?) 35 | -------------------------------------------------------------------------------- /.github/workflows/dep_build_v3.yml: -------------------------------------------------------------------------------- 1 | name: Re-build on jackson-databind v3 push 2 | on: 3 | repository_dispatch: 4 | types: [jackson-databind-pushed-v3] 5 | # just for testing 6 | workflow_dispatch: 7 | 8 | permissions: 9 | contents: read 10 | 11 | jobs: 12 | build: 13 | # Do we want wide matrix build? For now, limited 14 | runs-on: 'ubuntu-22.04' 15 | strategy: 16 | fail-fast: false 17 | matrix: 18 | java_version: ['17', '21'] 19 | env: 20 | JAVA_OPTS: "-XX:+TieredCompilation -XX:TieredStopAtLevel=1" 21 | steps: 22 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 23 | with: 24 | ref: 3.x 25 | - name: Set up JDK 26 | uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 27 | with: 28 | distribution: 'temurin' 29 | java-version: ${{ matrix.java_version }} 30 | cache: 'maven' 31 | - name: Build and test 32 | run: ./mvnw -B -ff -ntp clean verify 33 | 34 | # No recursive rebuild (yet?) 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # use glob syntax. 2 | syntax: glob 3 | *.class 4 | *~ 5 | *.bak 6 | *.off 7 | *.old 8 | .DS_Store 9 | 10 | # building 11 | target 12 | 13 | # Eclipse 14 | .classpath 15 | .project 16 | .settings 17 | 18 | # IDEA 19 | *.iml 20 | *.ipr 21 | *.iws 22 | .idea 23 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # https://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip 18 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.1/maven-wrapper-3.3.1.jar 19 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | 3 | jdk: 4 | - openjdk8 5 | - openjdk11 6 | 7 | branches: 8 | only: 9 | - "2.13" 10 | - "master" 11 | 12 | script: mvn -B clean verify 13 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | Last Updated: 2022-09-20 4 | 5 | ## Supported Versions 6 | 7 | Current status of open branches, with new releases, can be found from [Jackson Releases](https://github.com/FasterXML/jackson/wiki/Jackson-Releases) 8 | wiki page 9 | 10 | ## Reporting a Vulnerability 11 | 12 | The recommended mechanism for reporting possible security vulnerabilities follows 13 | so-called "Coordinated Disclosure Plan" (see [definition of DCP](https://vuls.cert.org/confluence/display/Wiki/Coordinated+Vulnerability+Disclosure+Guidance) 14 | for general idea). The first step is to file a [Tidelift security contact](https://tidelift.com/security): 15 | Tidelift will route all reports via their system to maintainers of relevant package(s), and start the 16 | process that will evaluate concern and issue possible fixes, send update notices and so on. 17 | Note that you do not need to be a Tidelift subscriber to file a security contact. 18 | 19 | Alternatively you may also report possible vulnerabilities to `info` at fasterxml dot com 20 | mailing address. Note that filing an issue to go with report is fine, but if you do that please 21 | DO NOT include details of security problem in the issue but only in email contact. 22 | This is important to give us time to provide a patch, if necessary, for the problem. 23 | 24 | ## Verifying Artifact signatures 25 | 26 | (for more in-depth explanation, see [Apache Release Signing](https://infra.apache.org/release-signing#keys-policy) document) 27 | 28 | To verify that any given Jackson artifact has been signed with a valid key, have a look at `KEYS` file of the main Jackson repo: 29 | 30 | https://github.com/FasterXML/jackson/blob/master/KEYS 31 | 32 | which lists all known valid keys in use. 33 | -------------------------------------------------------------------------------- /docs/javadoc/2.0.4/com/fasterxml/jackson/datatype/joda/deser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | com.fasterxml.jackson.datatype.joda.deser (Jackson-datatype-JODA 2.0.4 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | com.fasterxml.jackson.datatype.joda.deser 21 | 22 | 23 | 42 | 43 |
24 | Classes  25 | 26 |
27 | DateMidnightDeserializer 28 |
29 | DateTimeDeserializer 30 |
31 | DurationDeserializer 32 |
33 | InstantDeserializer 34 |
35 | LocalDateDeserializer 36 |
37 | LocalDateTimeDeserializer 38 |
39 | LocalTimeDeserializer 40 |
41 | PeriodDeserializer
44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /docs/javadoc/2.0.4/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-JODA 2.0.4 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | com.fasterxml.jackson.datatype.joda 21 | 22 | 23 | 28 | 29 |
24 | Classes  25 | 26 |
27 | JodaModule
30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /docs/javadoc/2.0.4/com/fasterxml/jackson/datatype/joda/ser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | com.fasterxml.jackson.datatype.joda.ser (Jackson-datatype-JODA 2.0.4 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | com.fasterxml.jackson.datatype.joda.ser 21 | 22 | 23 | 40 | 41 |
24 | Classes  25 | 26 |
27 | DateMidnightSerializer 28 |
29 | DateTimeSerializer 30 |
31 | DurationSerializer 32 |
33 | InstantSerializer 34 |
35 | LocalDateSerializer 36 |
37 | LocalDateTimeSerializer 38 |
39 | LocalTimeSerializer
42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /docs/javadoc/2.0.4/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Jackson-datatype-JODA 2.0.4 API 9 | 10 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | <H2> 32 | Frame Alert</H2> 33 | 34 | <P> 35 | This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. 36 | <BR> 37 | Link to<A HREF="overview-summary.html">Non-frame version.</A> 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /docs/javadoc/2.0.4/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Overview List (Jackson-datatype-JODA 2.0.4 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 |
23 |
26 | 27 | 28 | 29 | 41 | 42 |
All Classes 30 |

31 | 32 | Packages 33 |
34 | com.fasterxml.jackson.datatype.joda 35 |
36 | com.fasterxml.jackson.datatype.joda.deser 37 |
38 | com.fasterxml.jackson.datatype.joda.ser 39 |
40 |

43 | 44 |

45 |   46 | 47 | 48 | -------------------------------------------------------------------------------- /docs/javadoc/2.0.4/resources/inherit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.0.4/resources/inherit.gif -------------------------------------------------------------------------------- /docs/javadoc/2.0.4/stylesheet.css: -------------------------------------------------------------------------------- 1 | /* Javadoc style sheet */ 2 | 3 | /* Define colors, fonts and other style attributes here to override the defaults */ 4 | 5 | /* Page background color */ 6 | body { background-color: #FFFFFF; color:#000000 } 7 | 8 | /* Headings */ 9 | h1 { font-size: 145% } 10 | 11 | /* Table colors */ 12 | .TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */ 13 | .TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */ 14 | .TableRowColor { background: #FFFFFF; color:#000000 } /* White */ 15 | 16 | /* Font used in left-hand frame lists */ 17 | .FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 } 18 | .FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } 19 | .FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } 20 | 21 | /* Navigation bar fonts and colors */ 22 | .NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */ 23 | .NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */ 24 | .NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;} 25 | .NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;} 26 | 27 | .NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} 28 | .NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} 29 | 30 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.0/com/fasterxml/jackson/datatype/joda/deser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | com.fasterxml.jackson.datatype.joda.deser (Jackson-datatype-JODA 2.1.0 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | com.fasterxml.jackson.datatype.joda.deser 21 | 22 | 23 | 44 | 45 |
24 | Classes  25 | 26 |
27 | DateMidnightDeserializer 28 |
29 | DateTimeDeserializer 30 |
31 | DurationDeserializer 32 |
33 | InstantDeserializer 34 |
35 | IntervalDeserializer 36 |
37 | LocalDateDeserializer 38 |
39 | LocalDateTimeDeserializer 40 |
41 | LocalTimeDeserializer 42 |
43 | PeriodDeserializer
46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.0/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-JODA 2.1.0 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | com.fasterxml.jackson.datatype.joda 21 | 22 | 23 | 28 | 29 |
24 | Classes  25 | 26 |
27 | JodaModule
30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.0/com/fasterxml/jackson/datatype/joda/ser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | com.fasterxml.jackson.datatype.joda.ser (Jackson-datatype-JODA 2.1.0 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | com.fasterxml.jackson.datatype.joda.ser 21 | 22 | 23 | 42 | 43 |
24 | Classes  25 | 26 |
27 | DateMidnightSerializer 28 |
29 | DateTimeSerializer 30 |
31 | DurationSerializer 32 |
33 | InstantSerializer 34 |
35 | IntervalSerializer 36 |
37 | LocalDateSerializer 38 |
39 | LocalDateTimeSerializer 40 |
41 | LocalTimeSerializer
44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.0/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Jackson-datatype-JODA 2.1.0 API 9 | 10 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | <H2> 32 | Frame Alert</H2> 33 | 34 | <P> 35 | This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. 36 | <BR> 37 | Link to<A HREF="overview-summary.html">Non-frame version.</A> 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.0/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Overview List (Jackson-datatype-JODA 2.1.0 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 |
23 |
26 | 27 | 28 | 29 | 41 | 42 |
All Classes 30 |

31 | 32 | Packages 33 |
34 | com.fasterxml.jackson.datatype.joda 35 |
36 | com.fasterxml.jackson.datatype.joda.deser 37 |
38 | com.fasterxml.jackson.datatype.joda.ser 39 |
40 |

43 | 44 |

45 |   46 | 47 | 48 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.0/resources/inherit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.1.0/resources/inherit.gif -------------------------------------------------------------------------------- /docs/javadoc/2.1.0/stylesheet.css: -------------------------------------------------------------------------------- 1 | /* Javadoc style sheet */ 2 | 3 | /* Define colors, fonts and other style attributes here to override the defaults */ 4 | 5 | /* Page background color */ 6 | body { background-color: #FFFFFF; color:#000000 } 7 | 8 | /* Headings */ 9 | h1 { font-size: 145% } 10 | 11 | /* Table colors */ 12 | .TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */ 13 | .TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */ 14 | .TableRowColor { background: #FFFFFF; color:#000000 } /* White */ 15 | 16 | /* Font used in left-hand frame lists */ 17 | .FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 } 18 | .FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } 19 | .FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } 20 | 21 | /* Navigation bar fonts and colors */ 22 | .NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */ 23 | .NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */ 24 | .NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;} 25 | .NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;} 26 | 27 | .NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} 28 | .NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} 29 | 30 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.1/com/fasterxml/jackson/datatype/joda/deser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | com.fasterxml.jackson.datatype.joda.deser (Jackson-datatype-JODA 2.1.1 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | com.fasterxml.jackson.datatype.joda.deser 21 | 22 | 23 | 44 | 45 |
24 | Classes  25 | 26 |
27 | DateMidnightDeserializer 28 |
29 | DateTimeDeserializer 30 |
31 | DurationDeserializer 32 |
33 | InstantDeserializer 34 |
35 | IntervalDeserializer 36 |
37 | LocalDateDeserializer 38 |
39 | LocalDateTimeDeserializer 40 |
41 | LocalTimeDeserializer 42 |
43 | PeriodDeserializer
46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.1/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-JODA 2.1.1 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | com.fasterxml.jackson.datatype.joda 21 | 22 | 23 | 28 | 29 |
24 | Classes  25 | 26 |
27 | JodaModule
30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.1/com/fasterxml/jackson/datatype/joda/ser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | com.fasterxml.jackson.datatype.joda.ser (Jackson-datatype-JODA 2.1.1 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | com.fasterxml.jackson.datatype.joda.ser 21 | 22 | 23 | 42 | 43 |
24 | Classes  25 | 26 |
27 | DateMidnightSerializer 28 |
29 | DateTimeSerializer 30 |
31 | DurationSerializer 32 |
33 | InstantSerializer 34 |
35 | IntervalSerializer 36 |
37 | LocalDateSerializer 38 |
39 | LocalDateTimeSerializer 40 |
41 | LocalTimeSerializer
44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Jackson-datatype-JODA 2.1.1 API 9 | 10 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | <H2> 32 | Frame Alert</H2> 33 | 34 | <P> 35 | This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. 36 | <BR> 37 | Link to<A HREF="overview-summary.html">Non-frame version.</A> 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.1/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Overview List (Jackson-datatype-JODA 2.1.1 API) 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 |
23 |
26 | 27 | 28 | 29 | 41 | 42 |
All Classes 30 |

31 | 32 | Packages 33 |
34 | com.fasterxml.jackson.datatype.joda 35 |
36 | com.fasterxml.jackson.datatype.joda.deser 37 |
38 | com.fasterxml.jackson.datatype.joda.ser 39 |
40 |

43 | 44 |

45 |   46 | 47 | 48 | -------------------------------------------------------------------------------- /docs/javadoc/2.1.1/resources/inherit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.1.1/resources/inherit.gif -------------------------------------------------------------------------------- /docs/javadoc/2.1.1/stylesheet.css: -------------------------------------------------------------------------------- 1 | /* Javadoc style sheet */ 2 | 3 | /* Define colors, fonts and other style attributes here to override the defaults */ 4 | 5 | /* Page background color */ 6 | body { background-color: #FFFFFF; color:#000000 } 7 | 8 | /* Headings */ 9 | h1 { font-size: 145% } 10 | 11 | /* Table colors */ 12 | .TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */ 13 | .TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */ 14 | .TableRowColor { background: #FFFFFF; color:#000000 } /* White */ 15 | 16 | /* Font used in left-hand frame lists */ 17 | .FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 } 18 | .FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } 19 | .FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } 20 | 21 | /* Navigation bar fonts and colors */ 22 | .NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */ 23 | .NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */ 24 | .NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;} 25 | .NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;} 26 | 27 | .NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} 28 | .NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} 29 | 30 | -------------------------------------------------------------------------------- /docs/javadoc/2.10/com/fasterxml/jackson/datatype/joda/cfg/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.cfg (Jackson-datatype-Joda 2.10.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda.cfg

14 |
15 |

Classes

16 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.10/com/fasterxml/jackson/datatype/joda/deser/key/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser.key (Jackson-datatype-Joda 2.10.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda.deser.key

14 |
15 |

Classes

16 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/javadoc/2.10/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-Joda 2.10.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda

14 |
15 |

Classes

16 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.10/javadoc.sh: -------------------------------------------------------------------------------- 1 | /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/jre/../bin/javadoc @options @packages -------------------------------------------------------------------------------- /docs/javadoc/2.10/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson-datatype-Joda 2.10.0 API) 8 | 9 | 10 | 11 | 12 | 13 |
All Classes
14 |
15 |

Packages

16 | 23 |
24 |

 

25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/javadoc/2.10/script.js: -------------------------------------------------------------------------------- 1 | function show(type) 2 | { 3 | count = 0; 4 | for (var key in methods) { 5 | var row = document.getElementById(key); 6 | if ((methods[key] & type) != 0) { 7 | row.style.display = ''; 8 | row.className = (count++ % 2) ? rowColor : altColor; 9 | } 10 | else 11 | row.style.display = 'none'; 12 | } 13 | updateTabs(type); 14 | } 15 | 16 | function updateTabs(type) 17 | { 18 | for (var value in tabs) { 19 | var sNode = document.getElementById(tabs[value][0]); 20 | var spanNode = sNode.firstChild; 21 | if (value == type) { 22 | sNode.className = activeTableTab; 23 | spanNode.innerHTML = tabs[value][1]; 24 | } 25 | else { 26 | sNode.className = tableTab; 27 | spanNode.innerHTML = "" + tabs[value][1] + ""; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /docs/javadoc/2.11/com/fasterxml/jackson/datatype/joda/cfg/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.cfg (Jackson datatype: Joda 2.11.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda.cfg

14 |
15 |

Classes

16 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.11/com/fasterxml/jackson/datatype/joda/deser/key/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser.key (Jackson datatype: Joda 2.11.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda.deser.key

14 |
15 |

Classes

16 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/javadoc/2.11/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson datatype: Joda 2.11.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda

14 |
15 |

Classes

16 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.11/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson datatype: Joda 2.11.0 API) 8 | 9 | 10 | 11 | 12 | 13 |
All Classes
14 |
15 |

Packages

16 | 23 |
24 |

 

25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/javadoc/2.11/package-list: -------------------------------------------------------------------------------- 1 | com.fasterxml.jackson.datatype.joda 2 | com.fasterxml.jackson.datatype.joda.cfg 3 | com.fasterxml.jackson.datatype.joda.deser 4 | com.fasterxml.jackson.datatype.joda.deser.key 5 | com.fasterxml.jackson.datatype.joda.ser 6 | -------------------------------------------------------------------------------- /docs/javadoc/2.11/script.js: -------------------------------------------------------------------------------- 1 | function show(type) 2 | { 3 | count = 0; 4 | for (var key in methods) { 5 | var row = document.getElementById(key); 6 | if ((methods[key] & type) != 0) { 7 | row.style.display = ''; 8 | row.className = (count++ % 2) ? rowColor : altColor; 9 | } 10 | else 11 | row.style.display = 'none'; 12 | } 13 | updateTabs(type); 14 | } 15 | 16 | function updateTabs(type) 17 | { 18 | for (var value in tabs) { 19 | var sNode = document.getElementById(tabs[value][0]); 20 | var spanNode = sNode.firstChild; 21 | if (value == type) { 22 | sNode.className = activeTableTab; 23 | spanNode.innerHTML = tabs[value][1]; 24 | } 25 | else { 26 | sNode.className = tableTab; 27 | spanNode.innerHTML = "" + tabs[value][1] + ""; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /docs/javadoc/2.12/com/fasterxml/jackson/datatype/joda/cfg/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.cfg (Jackson datatype: Joda 2.12.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda.cfg

14 |
15 |

Classes

16 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.12/com/fasterxml/jackson/datatype/joda/deser/key/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser.key (Jackson datatype: Joda 2.12.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda.deser.key

14 |
15 |

Classes

16 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/javadoc/2.12/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson datatype: Joda 2.12.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda

14 |
15 |

Classes

16 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.12/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson datatype: Joda 2.12.0 API) 8 | 9 | 10 | 11 | 12 | 13 |
All Classes
14 |
15 |

Packages

16 | 23 |
24 |

 

25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/javadoc/2.12/package-list: -------------------------------------------------------------------------------- 1 | com.fasterxml.jackson.datatype.joda 2 | com.fasterxml.jackson.datatype.joda.cfg 3 | com.fasterxml.jackson.datatype.joda.deser 4 | com.fasterxml.jackson.datatype.joda.deser.key 5 | com.fasterxml.jackson.datatype.joda.ser 6 | -------------------------------------------------------------------------------- /docs/javadoc/2.12/script.js: -------------------------------------------------------------------------------- 1 | function show(type) 2 | { 3 | count = 0; 4 | for (var key in methods) { 5 | var row = document.getElementById(key); 6 | if ((methods[key] & type) != 0) { 7 | row.style.display = ''; 8 | row.className = (count++ % 2) ? rowColor : altColor; 9 | } 10 | else 11 | row.style.display = 'none'; 12 | } 13 | updateTabs(type); 14 | } 15 | 16 | function updateTabs(type) 17 | { 18 | for (var value in tabs) { 19 | var sNode = document.getElementById(tabs[value][0]); 20 | var spanNode = sNode.firstChild; 21 | if (value == type) { 22 | sNode.className = activeTableTab; 23 | spanNode.innerHTML = tabs[value][1]; 24 | } 25 | else { 26 | sNode.className = tableTab; 27 | spanNode.innerHTML = "" + tabs[value][1] + ""; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /docs/javadoc/2.13/com/fasterxml/jackson/datatype/joda/cfg/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.cfg (Jackson datatype: Joda 2.13.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda.cfg

14 |
15 |

Classes

16 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.13/com/fasterxml/jackson/datatype/joda/deser/key/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser.key (Jackson datatype: Joda 2.13.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda.deser.key

14 |
15 |

Classes

16 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/javadoc/2.13/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson datatype: Joda 2.13.0 API) 8 | 9 | 10 | 11 | 12 | 13 |

com.fasterxml.jackson.datatype.joda

14 |
15 |

Classes

16 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.13/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson datatype: Joda 2.13.0 API) 8 | 9 | 10 | 11 | 12 | 13 |
All Classes
14 |
15 |

Packages

16 | 23 |
24 |

 

25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/javadoc/2.13/package-list: -------------------------------------------------------------------------------- 1 | com.fasterxml.jackson.datatype.joda 2 | com.fasterxml.jackson.datatype.joda.cfg 3 | com.fasterxml.jackson.datatype.joda.deser 4 | com.fasterxml.jackson.datatype.joda.deser.key 5 | com.fasterxml.jackson.datatype.joda.ser 6 | -------------------------------------------------------------------------------- /docs/javadoc/2.13/script.js: -------------------------------------------------------------------------------- 1 | function show(type) 2 | { 3 | count = 0; 4 | for (var key in methods) { 5 | var row = document.getElementById(key); 6 | if ((methods[key] & type) != 0) { 7 | row.style.display = ''; 8 | row.className = (count++ % 2) ? rowColor : altColor; 9 | } 10 | else 11 | row.style.display = 'none'; 12 | } 13 | updateTabs(type); 14 | } 15 | 16 | function updateTabs(type) 17 | { 18 | for (var value in tabs) { 19 | var sNode = document.getElementById(tabs[value][0]); 20 | var spanNode = sNode.firstChild; 21 | if (value == type) { 22 | sNode.className = activeTableTab; 23 | spanNode.innerHTML = tabs[value][1]; 24 | } 25 | else { 26 | sNode.className = tableTab; 27 | spanNode.innerHTML = "" + tabs[value][1] + ""; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /docs/javadoc/2.2.0/com/fasterxml/jackson/datatype/joda/deser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser (Jackson-datatype-JODA 2.2.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.deser

13 |
14 |

Classes

15 | 26 |
27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/javadoc/2.2.0/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-JODA 2.2.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda

13 |
14 |

Classes

15 | 19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/javadoc/2.2.0/com/fasterxml/jackson/datatype/joda/ser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.ser (Jackson-datatype-JODA 2.2.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.ser

13 |
14 |

Classes

15 | 25 |
26 | 27 | 28 | -------------------------------------------------------------------------------- /docs/javadoc/2.2.0/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jackson-datatype-JODA 2.2.0 API 8 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | <noscript> 28 | <div>JavaScript is disabled on your browser.</div> 29 | </noscript> 30 | <h2>Frame Alert</h2> 31 | <p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p> 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /docs/javadoc/2.2.0/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson-datatype-JODA 2.2.0 API) 8 | 9 | 10 | 11 | 12 |
All Classes
13 |
14 |

Packages

15 | 20 |
21 |

 

22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.2.0/resources/background.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.2.0/resources/background.gif -------------------------------------------------------------------------------- /docs/javadoc/2.2.0/resources/tab.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.2.0/resources/tab.gif -------------------------------------------------------------------------------- /docs/javadoc/2.2.0/resources/titlebar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.2.0/resources/titlebar.gif -------------------------------------------------------------------------------- /docs/javadoc/2.2.0/resources/titlebar_end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.2.0/resources/titlebar_end.gif -------------------------------------------------------------------------------- /docs/javadoc/2.3.0/com/fasterxml/jackson/datatype/joda/deser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser (Jackson-datatype-JODA 2.3.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.deser

13 |
14 |

Classes

15 | 26 |
27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/javadoc/2.3.0/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-JODA 2.3.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.3.0/com/fasterxml/jackson/datatype/joda/ser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.ser (Jackson-datatype-JODA 2.3.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.ser

13 |
14 |

Classes

15 | 25 |
26 | 27 | 28 | -------------------------------------------------------------------------------- /docs/javadoc/2.3.0/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson-datatype-JODA 2.3.0 API) 8 | 9 | 10 | 11 | 12 |
All Classes
13 |
14 |

Packages

15 | 20 |
21 |

 

22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.3.0/resources/background.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.3.0/resources/background.gif -------------------------------------------------------------------------------- /docs/javadoc/2.3.0/resources/tab.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.3.0/resources/tab.gif -------------------------------------------------------------------------------- /docs/javadoc/2.3.0/resources/titlebar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.3.0/resources/titlebar.gif -------------------------------------------------------------------------------- /docs/javadoc/2.3.0/resources/titlebar_end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.3.0/resources/titlebar_end.gif -------------------------------------------------------------------------------- /docs/javadoc/2.4/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-Joda 2.4.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.4/com/fasterxml/jackson/datatype/joda/ser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.ser (Jackson-datatype-Joda 2.4.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.ser

13 |
14 |

Classes

15 | 29 |
30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/javadoc/2.4/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson-datatype-Joda 2.4.0 API) 8 | 9 | 10 | 11 | 12 |
All Classes
13 |
14 |

Packages

15 | 20 |
21 |

 

22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.4/resources/background.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.4/resources/background.gif -------------------------------------------------------------------------------- /docs/javadoc/2.4/resources/tab.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.4/resources/tab.gif -------------------------------------------------------------------------------- /docs/javadoc/2.4/resources/titlebar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.4/resources/titlebar.gif -------------------------------------------------------------------------------- /docs/javadoc/2.4/resources/titlebar_end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.4/resources/titlebar_end.gif -------------------------------------------------------------------------------- /docs/javadoc/2.5/com/fasterxml/jackson/datatype/joda/cfg/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.cfg (Jackson-datatype-Joda 2.5.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.cfg

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.5/com/fasterxml/jackson/datatype/joda/deser/key/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser.key (Jackson-datatype-Joda 2.5.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.deser.key

13 |
14 |

Classes

15 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.5/com/fasterxml/jackson/datatype/joda/deser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser (Jackson-datatype-Joda 2.5.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.deser

13 |
14 |

Classes

15 | 29 |
30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/javadoc/2.5/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-Joda 2.5.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.5/com/fasterxml/jackson/datatype/joda/ser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.ser (Jackson-datatype-Joda 2.5.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.ser

13 |
14 |

Classes

15 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/javadoc/2.5/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson-datatype-Joda 2.5.0 API) 8 | 9 | 10 | 11 | 12 |
All Classes
13 |
14 |

Packages

15 | 22 |
23 |

 

24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/javadoc/2.5/resources/background.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.5/resources/background.gif -------------------------------------------------------------------------------- /docs/javadoc/2.5/resources/tab.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.5/resources/tab.gif -------------------------------------------------------------------------------- /docs/javadoc/2.5/resources/titlebar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.5/resources/titlebar.gif -------------------------------------------------------------------------------- /docs/javadoc/2.5/resources/titlebar_end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.5/resources/titlebar_end.gif -------------------------------------------------------------------------------- /docs/javadoc/2.6/com/fasterxml/jackson/datatype/joda/cfg/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.cfg (Jackson-datatype-Joda 2.6.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.cfg

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.6/com/fasterxml/jackson/datatype/joda/deser/key/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser.key (Jackson-datatype-Joda 2.6.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.deser.key

13 |
14 |

Classes

15 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.6/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-Joda 2.6.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.6/com/fasterxml/jackson/datatype/joda/ser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.ser (Jackson-datatype-Joda 2.6.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.ser

13 |
14 |

Classes

15 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/javadoc/2.6/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson-datatype-Joda 2.6.0 API) 8 | 9 | 10 | 11 | 12 |
All Classes
13 |
14 |

Packages

15 | 22 |
23 |

 

24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/javadoc/2.6/resources/background.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.6/resources/background.gif -------------------------------------------------------------------------------- /docs/javadoc/2.6/resources/tab.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.6/resources/tab.gif -------------------------------------------------------------------------------- /docs/javadoc/2.6/resources/titlebar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.6/resources/titlebar.gif -------------------------------------------------------------------------------- /docs/javadoc/2.6/resources/titlebar_end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.6/resources/titlebar_end.gif -------------------------------------------------------------------------------- /docs/javadoc/2.7/com/fasterxml/jackson/datatype/joda/cfg/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.cfg (Jackson-datatype-Joda 2.7.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.cfg

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.7/com/fasterxml/jackson/datatype/joda/deser/key/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser.key (Jackson-datatype-Joda 2.7.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.deser.key

13 |
14 |

Classes

15 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/javadoc/2.7/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-Joda 2.7.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.7/com/fasterxml/jackson/datatype/joda/ser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.ser (Jackson-datatype-Joda 2.7.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.ser

13 |
14 |

Classes

15 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/javadoc/2.7/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson-datatype-Joda 2.7.0 API) 8 | 9 | 10 | 11 | 12 |
All Classes
13 |
14 |

Packages

15 | 22 |
23 |

 

24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/javadoc/2.7/resources/background.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.7/resources/background.gif -------------------------------------------------------------------------------- /docs/javadoc/2.7/resources/tab.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.7/resources/tab.gif -------------------------------------------------------------------------------- /docs/javadoc/2.7/resources/titlebar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.7/resources/titlebar.gif -------------------------------------------------------------------------------- /docs/javadoc/2.7/resources/titlebar_end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.7/resources/titlebar_end.gif -------------------------------------------------------------------------------- /docs/javadoc/2.8/com/fasterxml/jackson/datatype/joda/cfg/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.cfg (Jackson-datatype-Joda 2.8.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.cfg

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.8/com/fasterxml/jackson/datatype/joda/deser/key/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser.key (Jackson-datatype-Joda 2.8.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.deser.key

13 |
14 |

Classes

15 | 23 |
24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/javadoc/2.8/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-Joda 2.8.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.8/com/fasterxml/jackson/datatype/joda/ser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.ser (Jackson-datatype-Joda 2.8.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.ser

13 |
14 |

Classes

15 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/javadoc/2.8/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson-datatype-Joda 2.8.0 API) 8 | 9 | 10 | 11 | 12 |
All Classes
13 |
14 |

Packages

15 | 22 |
23 |

 

24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/javadoc/2.8/resources/background.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.8/resources/background.gif -------------------------------------------------------------------------------- /docs/javadoc/2.8/resources/tab.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.8/resources/tab.gif -------------------------------------------------------------------------------- /docs/javadoc/2.8/resources/titlebar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.8/resources/titlebar.gif -------------------------------------------------------------------------------- /docs/javadoc/2.8/resources/titlebar_end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.8/resources/titlebar_end.gif -------------------------------------------------------------------------------- /docs/javadoc/2.9/com/fasterxml/jackson/datatype/joda/cfg/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.cfg (Jackson-datatype-Joda 2.9.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.cfg

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.9/com/fasterxml/jackson/datatype/joda/deser/key/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.deser.key (Jackson-datatype-Joda 2.9.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.deser.key

13 |
14 |

Classes

15 | 23 |
24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/javadoc/2.9/com/fasterxml/jackson/datatype/joda/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda (Jackson-datatype-Joda 2.9.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda

13 |
14 |

Classes

15 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/javadoc/2.9/com/fasterxml/jackson/datatype/joda/ser/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | com.fasterxml.jackson.datatype.joda.ser (Jackson-datatype-Joda 2.9.0 API) 8 | 9 | 10 | 11 | 12 |

com.fasterxml.jackson.datatype.joda.ser

13 |
14 |

Classes

15 | 28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/javadoc/2.9/overview-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Overview List (Jackson-datatype-Joda 2.9.0 API) 8 | 9 | 10 | 11 | 12 |
All Classes
13 |
14 |

Packages

15 | 22 |
23 |

 

24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/javadoc/2.9/resources/background.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.9/resources/background.gif -------------------------------------------------------------------------------- /docs/javadoc/2.9/resources/tab.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.9/resources/tab.gif -------------------------------------------------------------------------------- /docs/javadoc/2.9/resources/titlebar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.9/resources/titlebar.gif -------------------------------------------------------------------------------- /docs/javadoc/2.9/resources/titlebar_end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FasterXML/jackson-datatype-joda/3529e3af736cc9f83d78f25b674707ac2a8233df/docs/javadoc/2.9/resources/titlebar_end.gif -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/JodaMapper.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda; 2 | 3 | import com.fasterxml.jackson.databind.ObjectMapper; 4 | import com.fasterxml.jackson.databind.SerializationFeature; 5 | 6 | public class JodaMapper extends ObjectMapper 7 | { 8 | private static final long serialVersionUID = 1L; 9 | 10 | public JodaMapper() { 11 | registerModule(new JodaModule()); 12 | } 13 | 14 | /** 15 | * Convenience method that is shortcut for: 16 | *
17 |      *  module.isEnabled(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
18 |      *
19 | */ 20 | public boolean getWriteDatesAsTimestamps() { 21 | return getSerializationConfig().isEnabled(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); 22 | } 23 | 24 | /** 25 | * Convenience method that is shortcut for: 26 | *
27 |      *  configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, state)
28 |      *
29 | */ 30 | public void setWriteDatesAsTimestamps(boolean state) { 31 | configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, state); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/PackageVersion.java.in: -------------------------------------------------------------------------------- 1 | package @package@; 2 | 3 | import com.fasterxml.jackson.core.Version; 4 | import com.fasterxml.jackson.core.Versioned; 5 | import com.fasterxml.jackson.core.util.VersionUtil; 6 | 7 | /** 8 | * Automatically generated from PackageVersion.java.in during 9 | * packageVersion-generate execution of maven-replacer-plugin in 10 | * pom.xml. 11 | */ 12 | public final class PackageVersion implements Versioned { 13 | public final static Version VERSION = VersionUtil.parseVersion( 14 | "@projectversion@", "@projectgroupid@", "@projectartifactid@"); 15 | 16 | @Override 17 | public Version version() { 18 | return VERSION; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/deser/DateTimeZoneDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.DateTimeZone; 6 | 7 | import com.fasterxml.jackson.core.JsonParser; 8 | import com.fasterxml.jackson.core.JsonTokenId; 9 | import com.fasterxml.jackson.core.StreamReadCapability; 10 | import com.fasterxml.jackson.core.io.NumberInput; 11 | 12 | import com.fasterxml.jackson.databind.DeserializationContext; 13 | 14 | /** 15 | * Deserializer for Joda {@link DateTimeZone}. 16 | */ 17 | public class DateTimeZoneDeserializer extends JodaDeserializerBase 18 | { 19 | private static final long serialVersionUID = 1L; 20 | 21 | public DateTimeZoneDeserializer() { super(DateTimeZone.class); } 22 | 23 | @Override 24 | public DateTimeZone deserialize(JsonParser p, DeserializationContext ctxt) 25 | throws IOException 26 | { 27 | switch (p.currentTokenId()) { 28 | case JsonTokenId.ID_NUMBER_INT: 29 | // for fun let's allow use of offsets... 30 | return _fromOffset(ctxt, p.getIntValue()); 31 | case JsonTokenId.ID_STRING: 32 | return _fromString(p, ctxt, p.getText()); 33 | case JsonTokenId.ID_START_OBJECT: 34 | // 30-Sep-2020, tatu: New! "Scalar from Object" (mostly for XML) 35 | String str = ctxt.extractScalarFromObject(p, this, handledType()); 36 | // 17-May-2025, tatu: [databind#4656] need to check for `null` 37 | if (str != null) { 38 | return _fromString(p, ctxt, str); 39 | } 40 | // fall through 41 | default: 42 | } 43 | return _handleNotNumberOrString(p, ctxt); 44 | } 45 | 46 | // @since 2.12 47 | protected DateTimeZone _fromString(final JsonParser p, final DeserializationContext ctxt, 48 | String value) 49 | throws IOException 50 | { 51 | value = value.trim(); 52 | if (value.isEmpty()) { 53 | return _fromEmptyString(p, ctxt, value); 54 | } 55 | // 30-Sep-2020: [datatype-joda#117] Should allow use of "Timestamp as String" for 56 | // some textual formats 57 | if (ctxt.isEnabled(StreamReadCapability.UNTYPED_SCALARS) 58 | && _isValidTimestampString(value)) { 59 | return _fromOffset(ctxt, NumberInput.parseInt(value)); 60 | } 61 | return DateTimeZone.forID(value); 62 | } 63 | 64 | // @since 2.12 65 | protected DateTimeZone _fromOffset(DeserializationContext ctxt, int offset) { 66 | return DateTimeZone.forOffsetHours(offset); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/deser/JodaDateDeserializerBase.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser; 2 | 3 | import com.fasterxml.jackson.annotation.JsonFormat; 4 | 5 | import com.fasterxml.jackson.databind.*; 6 | import com.fasterxml.jackson.databind.deser.ContextualDeserializer; 7 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat; 8 | 9 | /** 10 | * Intermediate base class used by deserializers that allow configuration 11 | * via JsonFormat annotation 12 | * 13 | * @since 2.6 14 | */ 15 | public abstract class JodaDateDeserializerBase 16 | extends JodaDeserializerBase 17 | //need contextualization to read per-property annotations 18 | implements ContextualDeserializer 19 | { 20 | private static final long serialVersionUID = 1L; 21 | 22 | protected final JacksonJodaDateFormat _format; 23 | 24 | protected JodaDateDeserializerBase(Class type, JacksonJodaDateFormat format) 25 | { 26 | super(type); 27 | _format = format; 28 | } 29 | 30 | public abstract JodaDateDeserializerBase withFormat(JacksonJodaDateFormat format); 31 | 32 | @Override 33 | public JsonDeserializer createContextual(DeserializationContext ctxt, 34 | BeanProperty prop) throws JsonMappingException 35 | { 36 | JsonFormat.Value ann = findFormatOverrides(ctxt, prop, handledType()); 37 | if (ann != null) { 38 | JacksonJodaDateFormat format = _format; 39 | Boolean useTimestamp; 40 | 41 | // Simple case first: serialize as numeric timestamp? 42 | if (ann.getShape().isNumeric()) { 43 | useTimestamp = Boolean.TRUE; 44 | } else if (ann.getShape() == JsonFormat.Shape.STRING) { 45 | useTimestamp = Boolean.FALSE; 46 | } else if (ann.getShape() == JsonFormat.Shape.ARRAY) { 47 | // 17-Nov-2014, tatu: also, arrays typically contain non-string representation 48 | useTimestamp = Boolean.TRUE; 49 | } else { 50 | useTimestamp = null; 51 | } 52 | // must not call if flag defined, to rely on defaults: 53 | if (useTimestamp != null) { 54 | format = format.withUseTimestamp(useTimestamp); 55 | } 56 | // for others, safe to call, null/empty just ignored 57 | format = format.with(ann); 58 | if (format != _format) { 59 | return withFormat(format); 60 | } 61 | } 62 | return this; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/deser/MonthDayDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser; 2 | 3 | import java.io.IOException; 4 | 5 | import com.fasterxml.jackson.core.JsonParser; 6 | import com.fasterxml.jackson.core.JsonToken; 7 | 8 | import com.fasterxml.jackson.databind.DeserializationContext; 9 | 10 | import com.fasterxml.jackson.datatype.joda.cfg.FormatConfig; 11 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat; 12 | 13 | import org.joda.time.MonthDay; 14 | 15 | /** 16 | * A Jackson deserializer for Joda MonthDay objects. 17 | *

18 | * Expects a string value compatible with MonthDay's parse operation. 19 | */ 20 | public class MonthDayDeserializer extends JodaDateDeserializerBase 21 | { 22 | private static final long serialVersionUID = 1L; 23 | 24 | public MonthDayDeserializer() { 25 | this(FormatConfig.DEFAULT_MONTH_DAY_FORMAT); 26 | } 27 | 28 | public MonthDayDeserializer(JacksonJodaDateFormat format) { 29 | super(MonthDay.class, format); 30 | } 31 | 32 | @Override 33 | public JodaDateDeserializerBase withFormat(JacksonJodaDateFormat format) { 34 | return new MonthDayDeserializer(format); 35 | } 36 | 37 | @Override 38 | public MonthDay deserialize(final JsonParser p, final DeserializationContext ctxt) throws IOException 39 | { 40 | if (p.hasToken(JsonToken.VALUE_STRING)) { 41 | return _fromString(p, ctxt, p.getText()); 42 | } 43 | // 30-Sep-2020, tatu: New! "Scalar from Object" (mostly for XML) 44 | if (p.isExpectedStartObjectToken()) { 45 | // 30-Sep-2020, tatu: New! "Scalar from Object" (mostly for XML) 46 | String str = ctxt.extractScalarFromObject(p, this, handledType()); 47 | // 17-May-2025, tatu: [databind#4656] need to check for `null` 48 | if (str != null) { 49 | return _fromString(p, ctxt, str); 50 | } 51 | // fall through 52 | } 53 | return _handleNotString(p, ctxt); 54 | } 55 | 56 | // @since 2.12 57 | protected MonthDay _fromString(final JsonParser p, final DeserializationContext ctxt, 58 | String value) 59 | throws IOException 60 | { 61 | value = value.trim(); 62 | if (value.isEmpty()) { 63 | return _fromEmptyString(p, ctxt, value); 64 | } 65 | return MonthDay.parse(value, _format.createParser(ctxt)); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/deser/YearMonthDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser; 2 | 3 | import java.io.IOException; 4 | 5 | import com.fasterxml.jackson.datatype.joda.cfg.FormatConfig; 6 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat; 7 | import org.joda.time.YearMonth; 8 | 9 | import com.fasterxml.jackson.core.JsonParser; 10 | import com.fasterxml.jackson.core.JsonToken; 11 | import com.fasterxml.jackson.databind.DeserializationContext; 12 | 13 | /** 14 | * A Jackson deserializer for Joda YearMonth objects. 15 | *

16 | * Expects a string value compatible with YearMonth's parse operation. 17 | */ 18 | public class YearMonthDeserializer extends JodaDateDeserializerBase 19 | { 20 | private static final long serialVersionUID = 1L; 21 | 22 | public YearMonthDeserializer() { 23 | this(FormatConfig.DEFAULT_YEAR_MONTH_FORMAT); 24 | } 25 | 26 | public YearMonthDeserializer(JacksonJodaDateFormat format) { 27 | super(YearMonth.class, format); 28 | } 29 | 30 | @Override 31 | public JodaDateDeserializerBase withFormat(JacksonJodaDateFormat format) { 32 | return new YearMonthDeserializer(format); 33 | } 34 | 35 | @Override 36 | public YearMonth deserialize(final JsonParser p, final DeserializationContext ctxt) throws IOException 37 | { 38 | if (p.hasToken(JsonToken.VALUE_STRING)) { 39 | return _fromString(p, ctxt, p.getText()); 40 | } 41 | // 30-Sep-2020, tatu: New! "Scalar from Object" (mostly for XML) 42 | if (p.isExpectedStartObjectToken()) { 43 | // 30-Sep-2020, tatu: New! "Scalar from Object" (mostly for XML) 44 | String str = ctxt.extractScalarFromObject(p, this, handledType()); 45 | // 17-May-2025, tatu: [databind#4656] need to check for `null` 46 | if (str != null) { 47 | return _fromString(p, ctxt, str); 48 | } 49 | // fall through 50 | } 51 | return _handleNotString(p, ctxt); 52 | } 53 | 54 | // @since 2.12 55 | protected YearMonth _fromString(final JsonParser p, final DeserializationContext ctxt, 56 | String value) 57 | throws IOException 58 | { 59 | value = value.trim(); 60 | if (value.isEmpty()) { 61 | return _fromEmptyString(p, ctxt, value); 62 | } 63 | return YearMonth.parse(value, _format.createParser(ctxt)); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/deser/key/DateTimeKeyDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser.key; 2 | 3 | import java.io.IOException; 4 | import java.util.TimeZone; 5 | 6 | import org.joda.time.DateTime; 7 | import org.joda.time.DateTimeZone; 8 | 9 | import com.fasterxml.jackson.databind.DeserializationContext; 10 | import com.fasterxml.jackson.databind.DeserializationFeature; 11 | 12 | public class DateTimeKeyDeserializer extends JodaKeyDeserializer { 13 | private static final long serialVersionUID = 1L; 14 | 15 | @Override 16 | protected DateTime deserialize(String key, DeserializationContext ctxt) throws IOException { 17 | if (ctxt.isEnabled(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE)) { 18 | TimeZone tz = ctxt.getTimeZone(); 19 | DateTimeZone dtz = (tz == null) ? DateTimeZone.UTC : DateTimeZone.forTimeZone(tz); 20 | return new DateTime(key, dtz); 21 | } 22 | return DateTime.parse(key); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/deser/key/DurationKeyDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser.key; 2 | 3 | import com.fasterxml.jackson.databind.DeserializationContext; 4 | 5 | import java.io.IOException; 6 | 7 | public class DurationKeyDeserializer extends JodaKeyDeserializer { 8 | private static final long serialVersionUID = 1L; 9 | 10 | @Override 11 | protected Object deserialize(String key, DeserializationContext ctxt) throws IOException { 12 | return PERIOD_FORMAT.parsePeriod(ctxt, key).toStandardDuration(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/deser/key/JodaKeyDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser.key; 2 | 3 | import com.fasterxml.jackson.databind.DeserializationContext; 4 | import com.fasterxml.jackson.databind.KeyDeserializer; 5 | import com.fasterxml.jackson.datatype.joda.cfg.FormatConfig; 6 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaPeriodFormat; 7 | 8 | import java.io.IOException; 9 | 10 | abstract class JodaKeyDeserializer extends KeyDeserializer 11 | implements java.io.Serializable 12 | { 13 | private static final long serialVersionUID = 1L; 14 | 15 | protected final static JacksonJodaPeriodFormat PERIOD_FORMAT = FormatConfig.DEFAULT_PERIOD_FORMAT; 16 | 17 | @Override 18 | public final Object deserializeKey(String key, DeserializationContext ctxt) throws IOException { 19 | if (key.length() == 0) { // [JACKSON-360] 20 | return null; 21 | } 22 | return deserialize(key, ctxt); 23 | } 24 | 25 | protected abstract Object deserialize(String key, DeserializationContext ctxt) throws IOException; 26 | } -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/deser/key/LocalDateKeyDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser.key; 2 | 3 | import java.io.IOException; 4 | 5 | import com.fasterxml.jackson.databind.DeserializationContext; 6 | import org.joda.time.LocalDate; 7 | import org.joda.time.format.DateTimeFormatter; 8 | import org.joda.time.format.ISODateTimeFormat; 9 | 10 | public class LocalDateKeyDeserializer extends JodaKeyDeserializer { 11 | private static final long serialVersionUID = 1L; 12 | private static final DateTimeFormatter parser = ISODateTimeFormat.localDateParser(); 13 | 14 | @Override 15 | protected LocalDate deserialize(String key, DeserializationContext ctxt) throws IOException { 16 | return parser.parseLocalDate(key); 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/deser/key/LocalDateTimeKeyDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser.key; 2 | 3 | import java.io.IOException; 4 | 5 | import com.fasterxml.jackson.databind.DeserializationContext; 6 | import org.joda.time.LocalDateTime; 7 | import org.joda.time.format.DateTimeFormatter; 8 | import org.joda.time.format.ISODateTimeFormat; 9 | 10 | public class LocalDateTimeKeyDeserializer extends JodaKeyDeserializer { 11 | private static final long serialVersionUID = 1L; 12 | private static final DateTimeFormatter parser = ISODateTimeFormat.localDateOptionalTimeParser(); 13 | 14 | @Override 15 | protected LocalDateTime deserialize(String key, DeserializationContext ctxt) throws IOException { 16 | return parser.parseLocalDateTime(key); 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/deser/key/LocalTimeKeyDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser.key; 2 | 3 | import java.io.IOException; 4 | 5 | import com.fasterxml.jackson.databind.DeserializationContext; 6 | 7 | import org.joda.time.LocalTime; 8 | import org.joda.time.format.DateTimeFormatter; 9 | import org.joda.time.format.ISODateTimeFormat; 10 | 11 | public class LocalTimeKeyDeserializer extends JodaKeyDeserializer { 12 | private static final long serialVersionUID = 1L; 13 | private static final DateTimeFormatter parser = ISODateTimeFormat.localTimeParser(); 14 | 15 | @Override 16 | protected LocalTime deserialize(String key, DeserializationContext ctxt) throws IOException { 17 | return parser.parseLocalTime(key); 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/deser/key/PeriodKeyDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser.key; 2 | 3 | import com.fasterxml.jackson.databind.DeserializationContext; 4 | 5 | import java.io.IOException; 6 | 7 | public class PeriodKeyDeserializer extends JodaKeyDeserializer 8 | { 9 | private static final long serialVersionUID = 1L; 10 | 11 | @Override 12 | protected Object deserialize(String key, DeserializationContext ctxt) throws IOException { 13 | return PERIOD_FORMAT.parsePeriod(ctxt, key); 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/DateMidnightSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import com.fasterxml.jackson.core.JsonGenerator; 6 | import com.fasterxml.jackson.databind.*; 7 | import com.fasterxml.jackson.datatype.joda.cfg.FormatConfig; 8 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat; 9 | 10 | /** 11 | * Note: Joda has DateMidnight deprecated since at least 2.4, 12 | * but we still support it for now. 13 | * 14 | * @deprecated Since 2.7 15 | */ 16 | @Deprecated // since Jackson 2.7 (and Joda 2.4) 17 | public class DateMidnightSerializer 18 | extends JodaDateSerializerBase 19 | { 20 | private static final long serialVersionUID = 1L; 21 | 22 | public DateMidnightSerializer() { 23 | this(FormatConfig.DEFAULT_LOCAL_DATEONLY_FORMAT, 0); 24 | } 25 | 26 | public DateMidnightSerializer(JacksonJodaDateFormat format) { 27 | this(format, 0); 28 | } 29 | 30 | public DateMidnightSerializer(JacksonJodaDateFormat format, 31 | int shapeOverride) { 32 | // true -> use arrays 33 | super(org.joda.time.DateMidnight.class, format, 34 | SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, 35 | FORMAT_ARRAY, shapeOverride); 36 | } 37 | 38 | @Override 39 | public DateMidnightSerializer withFormat(JacksonJodaDateFormat formatter, 40 | int shapeOverride) { 41 | return new DateMidnightSerializer(formatter, shapeOverride); 42 | } 43 | 44 | @Override 45 | public boolean isEmpty(SerializerProvider provider, org.joda.time.DateMidnight value) { 46 | return (value.getMillis() == 0L); 47 | } 48 | 49 | @Override 50 | public void serialize(org.joda.time.DateMidnight value, JsonGenerator gen, 51 | SerializerProvider provider) throws IOException 52 | { 53 | switch (_serializationShape(provider)) { 54 | case FORMAT_STRING: 55 | gen.writeString(_format.createFormatterWithLocale(provider).print(value)); 56 | break; 57 | case FORMAT_TIMESTAMP: 58 | gen.writeNumber(value.getMillis()); 59 | break; 60 | case FORMAT_ARRAY: 61 | // same as with other date-only values 62 | gen.writeStartArray(); 63 | gen.writeNumber(value.year().get()); 64 | gen.writeNumber(value.monthOfYear().get()); 65 | gen.writeNumber(value.dayOfMonth().get()); 66 | gen.writeEndArray(); 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/DateTimeZoneSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import com.fasterxml.jackson.databind.JavaType; 6 | import com.fasterxml.jackson.databind.JsonMappingException; 7 | import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper; 8 | import org.joda.time.DateTimeZone; 9 | 10 | import com.fasterxml.jackson.core.JsonGenerator; 11 | import com.fasterxml.jackson.core.JsonToken; 12 | import com.fasterxml.jackson.core.type.WritableTypeId; 13 | import com.fasterxml.jackson.databind.SerializerProvider; 14 | import com.fasterxml.jackson.databind.jsontype.TypeSerializer; 15 | 16 | public class DateTimeZoneSerializer extends JodaSerializerBase 17 | { 18 | private static final long serialVersionUID = 1L; 19 | 20 | public DateTimeZoneSerializer() { super(DateTimeZone.class); } 21 | 22 | @Override 23 | public void serialize(DateTimeZone value, JsonGenerator gen, SerializerProvider provider) throws IOException 24 | { 25 | gen.writeString(value.getID()); 26 | } 27 | 28 | // as per [datatype-joda#82], need to ensure we will indicate nominal, NOT physical type: 29 | @Override 30 | public void serializeWithType(DateTimeZone value, JsonGenerator g, 31 | SerializerProvider provider, TypeSerializer typeSer) throws IOException 32 | { 33 | WritableTypeId typeIdDef = typeSer.writeTypePrefix(g, 34 | typeSer.typeId(value, DateTimeZone.class, JsonToken.VALUE_STRING)); 35 | serialize(value, g, provider); 36 | typeSer.writeTypeSuffix(g, typeIdDef); 37 | } 38 | 39 | @Override 40 | public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) 41 | throws JsonMappingException { 42 | visitor.expectStringFormat(typeHint); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/DaysSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.Days; 6 | 7 | import com.fasterxml.jackson.core.JsonGenerator; 8 | import com.fasterxml.jackson.databind.SerializerProvider; 9 | 10 | /** 11 | * Serializer for Joda {@link Days} class. 12 | * 13 | * @since 2.19 14 | */ 15 | public class DaysSerializer 16 | extends JodaSerializerBase 17 | { 18 | private static final long serialVersionUID = 1L; 19 | 20 | public DaysSerializer() { 21 | super(Days.class); 22 | } 23 | 24 | @Override 25 | public void serialize(Days value, JsonGenerator gen, SerializerProvider provider) throws IOException { 26 | gen.writeNumber(value.getDays()); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/DurationSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.Duration; 6 | 7 | import com.fasterxml.jackson.core.JsonGenerator; 8 | 9 | import com.fasterxml.jackson.databind.SerializationFeature; 10 | import com.fasterxml.jackson.databind.SerializerProvider; 11 | import com.fasterxml.jackson.datatype.joda.cfg.FormatConfig; 12 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat; 13 | 14 | /** 15 | * Serializes a Duration; either as number of millis, or, if textual output 16 | * requested, using ISO-8601 format. 17 | */ 18 | public class DurationSerializer // non final since 2.6.1 19 | extends JodaDateSerializerBase 20 | { 21 | private static final long serialVersionUID = 1L; 22 | 23 | // NOTE: formatter is not really used directly for printing, but we do need 24 | // it as container for numeric/textual distinction 25 | 26 | public DurationSerializer() { this(FormatConfig.DEFAULT_DATEONLY_FORMAT, 0); } 27 | 28 | public DurationSerializer(JacksonJodaDateFormat format) { 29 | this(format, 0); 30 | } 31 | 32 | public DurationSerializer(JacksonJodaDateFormat formatter, 33 | int shapeOverride) { 34 | // false -> no arrays (numbers) 35 | super(Duration.class, formatter, 36 | SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS, 37 | FORMAT_TIMESTAMP, shapeOverride); 38 | } 39 | 40 | @Override 41 | public DurationSerializer withFormat(JacksonJodaDateFormat formatter, 42 | int shapeOverride) { 43 | return new DurationSerializer(formatter, shapeOverride); 44 | } 45 | 46 | @Override 47 | public boolean isEmpty(SerializerProvider prov, Duration value) { 48 | return (value.getMillis() == 0L); 49 | } 50 | 51 | @Override 52 | public void serialize(Duration value, JsonGenerator gen, SerializerProvider provider) throws IOException 53 | { 54 | if (_serializationShape(provider) == FORMAT_STRING) { 55 | gen.writeString(value.toString()); 56 | } else { 57 | gen.writeNumber(value.getMillis()); 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/HoursSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.Hours; 6 | 7 | import com.fasterxml.jackson.core.JsonGenerator; 8 | import com.fasterxml.jackson.databind.SerializerProvider; 9 | 10 | /** 11 | * Serializer for Joda {@link Hours} class. 12 | * 13 | * @since 2.18.4 14 | */ 15 | public class HoursSerializer 16 | extends JodaSerializerBase 17 | { 18 | 19 | private static final long serialVersionUID = 1L; 20 | 21 | public HoursSerializer() { 22 | super(Hours.class); 23 | } 24 | 25 | @Override 26 | public void serialize(Hours value, JsonGenerator gen, SerializerProvider provider) throws IOException { 27 | gen.writeNumber(value.getHours()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/InstantSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.Instant; 6 | 7 | import com.fasterxml.jackson.core.JsonGenerator; 8 | import com.fasterxml.jackson.databind.SerializationFeature; 9 | import com.fasterxml.jackson.databind.SerializerProvider; 10 | import com.fasterxml.jackson.datatype.joda.cfg.FormatConfig; 11 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat; 12 | 13 | public class InstantSerializer // non final since 2.6.1 14 | extends JodaDateSerializerBase 15 | { 16 | private static final long serialVersionUID = 1L; 17 | 18 | public InstantSerializer() { this(FormatConfig.DEFAULT_DATETIME_PRINTER, 0); } 19 | public InstantSerializer(JacksonJodaDateFormat format) { 20 | this(format, 0); 21 | } 22 | 23 | public InstantSerializer(JacksonJodaDateFormat format, 24 | int shapeOverride) { 25 | super(Instant.class, format, SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, 26 | FORMAT_TIMESTAMP, shapeOverride); 27 | } 28 | 29 | @Override 30 | public InstantSerializer withFormat(JacksonJodaDateFormat formatter, 31 | int shapeOverride) { 32 | return new InstantSerializer(formatter, shapeOverride); 33 | } 34 | 35 | // @since 2.5 36 | @Override 37 | public boolean isEmpty(SerializerProvider prov, Instant value) { 38 | return (value.getMillis() == 0L); 39 | } 40 | 41 | @Override 42 | public void serialize(Instant value, JsonGenerator gen, SerializerProvider provider) 43 | throws IOException 44 | { 45 | if (_serializationShape(provider) == FORMAT_STRING) { 46 | gen.writeString(_format.createFormatter(provider).print(value)); 47 | } else { 48 | gen.writeNumber(value.getMillis()); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/IntervalSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import com.fasterxml.jackson.core.JsonGenerator; 6 | 7 | import com.fasterxml.jackson.databind.SerializationFeature; 8 | import com.fasterxml.jackson.databind.SerializerProvider; 9 | import com.fasterxml.jackson.datatype.joda.cfg.FormatConfig; 10 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat; 11 | 12 | import org.joda.time.*; 13 | import org.joda.time.format.DateTimeFormatter; 14 | 15 | public class IntervalSerializer extends JodaDateSerializerBase 16 | { 17 | private static final long serialVersionUID = 1L; 18 | 19 | public IntervalSerializer() { this(FormatConfig.DEFAULT_DATETIME_PRINTER, 0); } 20 | public IntervalSerializer(JacksonJodaDateFormat format) { 21 | this(format, 0); 22 | } 23 | public IntervalSerializer(JacksonJodaDateFormat format, 24 | int shapeOverride) { 25 | super(Interval.class, format, SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS, 26 | FORMAT_TIMESTAMP, shapeOverride); 27 | } 28 | 29 | @Override 30 | public IntervalSerializer withFormat(JacksonJodaDateFormat formatter, 31 | int shapeOverride) { 32 | return new IntervalSerializer(formatter, shapeOverride); 33 | } 34 | 35 | @Override 36 | public boolean isEmpty(SerializerProvider prov, Interval value) { 37 | return (value.getStartMillis() == value.getEndMillis()); 38 | } 39 | 40 | @Override 41 | public void serialize(Interval interval, JsonGenerator gen, SerializerProvider provider) throws IOException 42 | { 43 | // 19-Nov-2014, tatu: Support textual representation similar to what Joda uses 44 | // (and why not exact one? In future we'll make it configurable) 45 | String repr; 46 | 47 | if (_serializationShape(provider) == FORMAT_STRING) { 48 | DateTimeFormatter f = _format.createFormatter(provider); 49 | repr = f.print(interval.getStart()) + "/" + f.print(interval.getEnd()); 50 | } else { 51 | // !!! TODO: maybe allow textual format too? 52 | repr = interval.getStartMillis() + "-" + interval.getEndMillis(); 53 | } 54 | gen.writeString(repr); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/JodaSerializerBase.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import com.fasterxml.jackson.core.JsonGenerator; 6 | import com.fasterxml.jackson.core.JsonToken; 7 | import com.fasterxml.jackson.core.type.WritableTypeId; 8 | 9 | import com.fasterxml.jackson.databind.SerializerProvider; 10 | import com.fasterxml.jackson.databind.jsontype.TypeSerializer; 11 | import com.fasterxml.jackson.databind.ser.std.StdSerializer; 12 | 13 | abstract class JodaSerializerBase extends StdSerializer 14 | { 15 | private static final long serialVersionUID = 1L; 16 | 17 | protected JodaSerializerBase(Class cls) { super(cls); } 18 | 19 | @Override 20 | public void serializeWithType(T value, JsonGenerator g, SerializerProvider provider, 21 | TypeSerializer typeSer) throws IOException 22 | { 23 | // NOTE: we do not actually know the exact shape (or, rather, it varies by settings 24 | // and so should not claim particular shape) -- but need to make sure NOT to report 25 | // as `Shape.OBJECT` or `Shape.ARRAY` 26 | WritableTypeId typeIdDef = typeSer.writeTypePrefix(g, 27 | typeSer.typeId(value, JsonToken.VALUE_STRING)); 28 | serialize(value, g, provider); 29 | typeSer.writeTypeSuffix(g, typeIdDef); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/LocalDateSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.LocalDate; 6 | 7 | import com.fasterxml.jackson.core.*; 8 | 9 | import com.fasterxml.jackson.databind.SerializationFeature; 10 | import com.fasterxml.jackson.databind.SerializerProvider; 11 | import com.fasterxml.jackson.datatype.joda.cfg.FormatConfig; 12 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat; 13 | 14 | public class LocalDateSerializer // non final since 2.6.1 15 | extends JodaDateSerializerBase 16 | { 17 | private static final long serialVersionUID = 1L; 18 | 19 | public LocalDateSerializer() { this(FormatConfig.DEFAULT_LOCAL_DATEONLY_FORMAT, 0); } 20 | public LocalDateSerializer(JacksonJodaDateFormat format) { 21 | this(format, 0); 22 | } 23 | public LocalDateSerializer(JacksonJodaDateFormat format, 24 | int shapeOverride) { 25 | super(LocalDate.class, format, SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, 26 | FORMAT_ARRAY, shapeOverride); 27 | } 28 | 29 | 30 | 31 | @Override 32 | public LocalDateSerializer withFormat(JacksonJodaDateFormat formatter, 33 | int shapeOverride) { 34 | return new LocalDateSerializer(formatter, shapeOverride); 35 | } 36 | 37 | // is there a natural "empty" value to check against? 38 | /* 39 | @Override 40 | public boolean isEmpty(LocalDate value) { 41 | return (value.getMillis() == 0L); 42 | } 43 | */ 44 | 45 | @Override 46 | public void serialize(LocalDate value, JsonGenerator gen, SerializerProvider provider) throws IOException 47 | { 48 | if (_serializationShape(provider) == FORMAT_STRING) { 49 | gen.writeString(_format.createFormatter(provider).print(value)); 50 | return; 51 | } 52 | // 28-Jul-2017, tatu: Wrt [dataformat-joda#39]... we could perhaps support timestamps, 53 | // but only by specifying what to do with time (`LocalTime`) AND timezone. For now, 54 | // seems like asking for trouble really... so only use array notation. 55 | gen.writeStartArray(); 56 | gen.writeNumber(value.year().get()); 57 | gen.writeNumber(value.monthOfYear().get()); 58 | gen.writeNumber(value.dayOfMonth().get()); 59 | gen.writeEndArray(); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/LocalTimeSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.LocalTime; 6 | 7 | import com.fasterxml.jackson.core.JsonGenerator; 8 | 9 | import com.fasterxml.jackson.databind.SerializationFeature; 10 | import com.fasterxml.jackson.databind.SerializerProvider; 11 | import com.fasterxml.jackson.datatype.joda.cfg.FormatConfig; 12 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat; 13 | 14 | public class LocalTimeSerializer // non final since 2.6.1 15 | extends JodaDateSerializerBase 16 | { 17 | private static final long serialVersionUID = 1L; 18 | 19 | public LocalTimeSerializer() { 20 | this(FormatConfig.DEFAULT_LOCAL_TIMEONLY_PRINTER, 0); 21 | } 22 | 23 | public LocalTimeSerializer(JacksonJodaDateFormat format) { 24 | this(format, 0); 25 | } 26 | 27 | public LocalTimeSerializer(JacksonJodaDateFormat format, 28 | int shapeOverride) { 29 | super(LocalTime.class, format, SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, 30 | FORMAT_ARRAY, shapeOverride); 31 | } 32 | 33 | @Override 34 | public LocalTimeSerializer withFormat(JacksonJodaDateFormat formatter, 35 | int shapeOverride) { 36 | return new LocalTimeSerializer(formatter, shapeOverride); 37 | } 38 | 39 | // is there a natural "empty" value to check against? 40 | /* 41 | @Override 42 | public boolean isEmpty(LocalTime value) { 43 | return (value.getMillis() == 0L); 44 | } 45 | */ 46 | 47 | @Override 48 | public void serialize(LocalTime value, JsonGenerator gen, SerializerProvider provider) throws IOException 49 | { 50 | if (_serializationShape(provider) == FORMAT_STRING) { 51 | gen.writeString(_format.createFormatter(provider).print(value)); 52 | return; 53 | } 54 | // Timestamp here actually means an array of values 55 | gen.writeStartArray(); 56 | gen.writeNumber(value.hourOfDay().get()); 57 | gen.writeNumber(value.minuteOfHour().get()); 58 | gen.writeNumber(value.secondOfMinute().get()); 59 | gen.writeNumber(value.millisOfSecond().get()); 60 | gen.writeEndArray(); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/MinutesSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.Minutes; 6 | 7 | import com.fasterxml.jackson.core.JsonGenerator; 8 | import com.fasterxml.jackson.databind.SerializerProvider; 9 | 10 | /** 11 | * Serializer for Joda {@link Minutes} class. 12 | * 13 | * @since 2.18.4 14 | */ 15 | public class MinutesSerializer 16 | extends JodaSerializerBase 17 | { 18 | 19 | private static final long serialVersionUID = 1L; 20 | 21 | public MinutesSerializer() { 22 | super(Minutes.class); 23 | } 24 | 25 | @Override 26 | public void serialize(Minutes value, JsonGenerator gen, SerializerProvider provider) throws IOException { 27 | gen.writeNumber(value.getMinutes()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/MonthDaySerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import com.fasterxml.jackson.core.*; 4 | import com.fasterxml.jackson.databind.SerializationFeature; 5 | import com.fasterxml.jackson.databind.SerializerProvider; 6 | import com.fasterxml.jackson.datatype.joda.cfg.FormatConfig; 7 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat; 8 | import org.joda.time.MonthDay; 9 | 10 | import java.io.IOException; 11 | 12 | public class MonthDaySerializer extends JodaDateSerializerBase 13 | { 14 | private static final long serialVersionUID = 1L; 15 | 16 | public MonthDaySerializer() { this(FormatConfig.DEFAULT_MONTH_DAY_FORMAT, 0); } 17 | public MonthDaySerializer(JacksonJodaDateFormat format) { 18 | this(format, 0); 19 | } 20 | public MonthDaySerializer(JacksonJodaDateFormat format, 21 | int shapeOverride) { 22 | super(MonthDay.class, format, SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, 23 | FORMAT_STRING, shapeOverride); 24 | } 25 | 26 | 27 | 28 | @Override 29 | public MonthDaySerializer withFormat(JacksonJodaDateFormat formatter, 30 | int shapeOverride) { 31 | return new MonthDaySerializer(formatter, shapeOverride); 32 | } 33 | 34 | @Override 35 | public void serialize(MonthDay value, JsonGenerator gen, SerializerProvider provider) throws IOException 36 | { 37 | gen.writeString(_format.createFormatter(provider).print(value)); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/MonthsSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.Months; 6 | 7 | import com.fasterxml.jackson.core.JsonGenerator; 8 | import com.fasterxml.jackson.databind.SerializerProvider; 9 | 10 | /** 11 | * Serializer for Joda {@link Months} class. 12 | * 13 | * @since 2.18.4 14 | */ 15 | public class MonthsSerializer 16 | extends JodaSerializerBase 17 | { 18 | 19 | private static final long serialVersionUID = 1L; 20 | 21 | public MonthsSerializer() { 22 | super(Months.class); 23 | } 24 | 25 | @Override 26 | public void serialize(Months value, JsonGenerator gen, SerializerProvider provider) throws IOException { 27 | gen.writeNumber(value.getMonths()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/SecondsSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.Seconds; 6 | 7 | import com.fasterxml.jackson.core.JsonGenerator; 8 | import com.fasterxml.jackson.databind.SerializerProvider; 9 | 10 | /** 11 | * Serializer for Joda {@link Seconds} class. 12 | * 13 | * @since 2.18.4 14 | */ 15 | public class SecondsSerializer 16 | extends JodaSerializerBase 17 | { 18 | 19 | private static final long serialVersionUID = 1L; 20 | 21 | public SecondsSerializer() { 22 | super(Seconds.class); 23 | } 24 | 25 | @Override 26 | public void serialize(Seconds value, JsonGenerator gen, SerializerProvider provider) throws IOException { 27 | gen.writeNumber(value.getSeconds()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/WeeksSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.Weeks; 6 | 7 | import com.fasterxml.jackson.core.JsonGenerator; 8 | import com.fasterxml.jackson.databind.SerializerProvider; 9 | 10 | /** 11 | * Serializer for Joda {@link Weeks} class. 12 | * 13 | * @since 2.18.4 14 | */ 15 | public class WeeksSerializer 16 | extends JodaSerializerBase 17 | { 18 | 19 | private static final long serialVersionUID = 1L; 20 | 21 | public WeeksSerializer() { 22 | super(Weeks.class); 23 | } 24 | 25 | @Override 26 | public void serialize(Weeks value, JsonGenerator gen, SerializerProvider provider) throws IOException { 27 | gen.writeNumber(value.getWeeks()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/YearMonthSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import com.fasterxml.jackson.core.*; 4 | import com.fasterxml.jackson.databind.SerializationFeature; 5 | import com.fasterxml.jackson.databind.SerializerProvider; 6 | import com.fasterxml.jackson.datatype.joda.cfg.FormatConfig; 7 | import com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat; 8 | import org.joda.time.YearMonth; 9 | 10 | import java.io.IOException; 11 | 12 | public class YearMonthSerializer extends JodaDateSerializerBase 13 | { 14 | private static final long serialVersionUID = 1L; 15 | 16 | public YearMonthSerializer() { this(FormatConfig.DEFAULT_YEAR_MONTH_FORMAT, 0); } 17 | public YearMonthSerializer(JacksonJodaDateFormat format) { 18 | this(format, 0); 19 | } 20 | public YearMonthSerializer(JacksonJodaDateFormat format, 21 | int shapeOverride) { 22 | super(YearMonth.class, format, SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, 23 | FORMAT_STRING, shapeOverride); 24 | } 25 | 26 | 27 | 28 | @Override 29 | public YearMonthSerializer withFormat(JacksonJodaDateFormat formatter, 30 | int shapeOverride) { 31 | return new YearMonthSerializer(formatter, shapeOverride); 32 | } 33 | 34 | @Override 35 | public void serialize(YearMonth value, JsonGenerator gen, SerializerProvider provider) throws IOException 36 | { 37 | gen.writeString(_format.createFormatter(provider).print(value)); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/fasterxml/jackson/datatype/joda/ser/YearsSerializer.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.Years; 6 | 7 | import com.fasterxml.jackson.core.JsonGenerator; 8 | import com.fasterxml.jackson.databind.SerializerProvider; 9 | 10 | /** 11 | * Serializer for Joda {@link Years} class. 12 | * 13 | * @since 2.18.4 14 | */ 15 | public class YearsSerializer 16 | extends JodaSerializerBase 17 | { 18 | 19 | private static final long serialVersionUID = 1L; 20 | 21 | public YearsSerializer() { 22 | super(Years.class); 23 | } 24 | 25 | @Override 26 | public void serialize(Years value, JsonGenerator gen, SerializerProvider provider) throws IOException { 27 | gen.writeNumber(value.getYears()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/resources/META-INF/LICENSE: -------------------------------------------------------------------------------- 1 | This copy of Jackson JSON processor streaming parser/generator is licensed under the 2 | Apache (Software) License, version 2.0 ("the License"). 3 | See the License for details about distribution rights, and the 4 | specific rights regarding derivate works. 5 | 6 | You may obtain a copy of the License at: 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | -------------------------------------------------------------------------------- /src/main/resources/META-INF/services/com.fasterxml.jackson.databind.Module: -------------------------------------------------------------------------------- 1 | com.fasterxml.jackson.datatype.joda.JodaModule 2 | -------------------------------------------------------------------------------- /src/moditect/module-info.java: -------------------------------------------------------------------------------- 1 | // Initially generated using Moditect maven plugin 2 | // Last changes: 3 | // 4 | // * 2020-11-25 change joda requires from "joda.time" to "org.joda.time" 5 | // (Joda 2.10 now has automatic module name) 6 | // 7 | module com.fasterxml.jackson.datatype.joda { 8 | requires com.fasterxml.jackson.annotation; 9 | requires com.fasterxml.jackson.core; 10 | requires com.fasterxml.jackson.databind; 11 | requires org.joda.time; 12 | 13 | exports com.fasterxml.jackson.datatype.joda; 14 | exports com.fasterxml.jackson.datatype.joda.cfg; 15 | exports com.fasterxml.jackson.datatype.joda.deser; 16 | exports com.fasterxml.jackson.datatype.joda.deser.key; 17 | exports com.fasterxml.jackson.datatype.joda.ser; 18 | 19 | provides com.fasterxml.jackson.databind.Module with 20 | com.fasterxml.jackson.datatype.joda.JodaModule; 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/AnnotationTest.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import com.fasterxml.jackson.databind.ObjectMapper; 6 | import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 7 | import com.fasterxml.jackson.databind.annotation.JsonSerialize; 8 | import com.fasterxml.jackson.datatype.joda.deser.DateTimeDeserializer; 9 | import com.fasterxml.jackson.datatype.joda.ser.DateTimeSerializer; 10 | 11 | import org.joda.time.DateTime; 12 | import org.joda.time.DateTimeZone; 13 | 14 | import static org.junit.jupiter.api.Assertions.assertEquals; 15 | 16 | public class AnnotationTest extends JodaTestBase 17 | { 18 | static class AClass 19 | { 20 | @JsonSerialize(using = DateTimeSerializer.class) 21 | @JsonDeserialize(using = DateTimeDeserializer.class) 22 | private DateTime createdOn = DateTime.now(DateTimeZone.UTC); 23 | 24 | public DateTime getCreatedOn() { 25 | return createdOn; 26 | } 27 | 28 | public void setCreatedOn(DateTime createdOn) { 29 | this.createdOn = createdOn; 30 | } 31 | } 32 | 33 | @Test 34 | public void testDateTimeViaAnnotation() throws Exception { 35 | ObjectMapper objectMapper = new ObjectMapper(); 36 | AClass initialObject = new AClass(); 37 | String serializedObject = objectMapper.writeValueAsString(initialObject); 38 | AClass deserializedObject = objectMapper.readValue(serializedObject, AClass.class); 39 | assertEquals(deserializedObject.getCreatedOn(), initialObject.getCreatedOn()); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/JodaMapperTest.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import com.fasterxml.jackson.databind.SerializationFeature; 6 | 7 | import static org.junit.jupiter.api.Assertions.*; 8 | 9 | public class JodaMapperTest 10 | { 11 | 12 | @Test 13 | public void test_writeDatesAsTimestamps_property() 14 | { 15 | JodaMapper objectUnderTest = new JodaMapper(); 16 | 17 | objectUnderTest.setWriteDatesAsTimestamps(true); 18 | assertTrue(objectUnderTest.getWriteDatesAsTimestamps()); 19 | 20 | objectUnderTest.setWriteDatesAsTimestamps(false); 21 | assertFalse(objectUnderTest.getWriteDatesAsTimestamps()); 22 | } 23 | 24 | @Test 25 | public void setWriteDatesAsTimestamps_sets_the_WRITE_DATES_AS_TIMESTAMPS_configuration() 26 | { 27 | JodaMapper objectUnderTest = new JodaMapper(); 28 | 29 | objectUnderTest.setWriteDatesAsTimestamps(true); 30 | 31 | assertTrue(objectUnderTest.isEnabled(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/MixedListTest.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda; 2 | 3 | import java.util.*; 4 | 5 | import org.joda.time.DateTime; 6 | import org.joda.time.DateTimeZone; 7 | 8 | import org.junit.jupiter.api.Test; 9 | 10 | import com.fasterxml.jackson.core.type.TypeReference; 11 | import com.fasterxml.jackson.databind.ObjectMapper; 12 | 13 | import static org.junit.jupiter.api.Assertions.*; 14 | 15 | public class MixedListTest extends JodaTestBase 16 | { 17 | private final ObjectMapper MAPPER = jodaMapper(); 18 | 19 | @Test 20 | public void testMixedList() throws Exception 21 | { 22 | final Map map = new HashMap(); 23 | DateTime dt = new DateTime(DateTimeZone.UTC); 24 | map.put("A", dt); 25 | map.put("B", 0); 26 | 27 | final String json = MAPPER.writeValueAsString(map); 28 | // by default, timestamps should come out as longs... 29 | 30 | final Map result = MAPPER.readValue(json, 31 | new TypeReference>() { }); 32 | 33 | assertEquals(2, result.size()); 34 | Object obB = result.get("B"); 35 | assertNotNull(obB); 36 | if (!(obB instanceof Number)) { 37 | fail("Expected 'B' to be a Number; instead of value of type "+obB.getClass().getName()); 38 | } 39 | 40 | assertEquals(Integer.valueOf(0), result.get("B")); 41 | Object obA = result.get("A"); 42 | assertNotNull(obA); 43 | if (!(obA instanceof Number)) { 44 | fail("Expected 'A' to be a number; instead of value of type "+obA.getClass().getName()); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/ModuleSPIMetadataTest.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import static org.junit.jupiter.api.Assertions.*; 6 | 7 | import java.util.ServiceLoader; 8 | 9 | public class ModuleSPIMetadataTest 10 | extends JodaTestBase 11 | { 12 | @Test 13 | void testModuleSPIMetadata() { 14 | ServiceLoader loader 15 | = ServiceLoader.load(com.fasterxml.jackson.databind.Module.class); 16 | assertTrue(loader.iterator().hasNext(), 17 | "Expected at least one `Module` implementation to be found via `ServiceLoader`"); 18 | final String exp = JodaModule.class.getName(); 19 | int count = 0; 20 | 21 | try { 22 | for (com.fasterxml.jackson.databind.Module service : loader) { 23 | ++count; 24 | if (service.getClass().getName().equals(exp)) { 25 | return; 26 | } 27 | } 28 | } catch (Throwable t) { 29 | fail("Expected to find `"+exp+"` Module (found "+count+" so far), problem: "+t); 30 | } 31 | fail("Expected to find `"+exp+"` Module (found "+count+" others)"); 32 | assertEquals(1, count); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/TestVersions.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda; 2 | 3 | import java.io.*; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import com.fasterxml.jackson.core.Versioned; 8 | 9 | import static org.junit.jupiter.api.Assertions.*; 10 | 11 | /** 12 | * Simple verification that version access works. 13 | */ 14 | public class TestVersions extends JodaTestBase 15 | { 16 | @Test 17 | public void testVersions() throws IOException 18 | { 19 | JodaModule m = new JodaModule(); 20 | assertVersion(m); 21 | } 22 | 23 | /* 24 | /********************************************************** 25 | /* Helper methods 26 | /********************************************************** 27 | */ 28 | 29 | private void assertVersion(Versioned v) 30 | { 31 | assertEquals(PackageVersion.VERSION, v.version()); 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/deser/KeyDeserTest.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser; 2 | 3 | import java.io.IOException; 4 | import java.util.Map; 5 | 6 | import org.joda.time.DateTime; 7 | import org.joda.time.LocalDate; 8 | import org.joda.time.LocalDateTime; 9 | import org.joda.time.LocalTime; 10 | 11 | import org.junit.jupiter.api.Test; 12 | 13 | import com.fasterxml.jackson.core.type.TypeReference; 14 | import com.fasterxml.jackson.databind.ObjectMapper; 15 | import com.fasterxml.jackson.datatype.joda.JodaTestBase; 16 | 17 | import static org.junit.jupiter.api.Assertions.*; 18 | 19 | public class KeyDeserTest extends JodaTestBase 20 | { 21 | /* 22 | /********************************************************** 23 | /* Test methods 24 | /********************************************************** 25 | */ 26 | 27 | private final ObjectMapper MAPPER = jodaMapper(); 28 | 29 | /* 30 | /********************************************************** 31 | /* Tests for key deserializers 32 | /********************************************************** 33 | */ 34 | 35 | @Test 36 | public void testDateTimeKeyDeserialize() throws IOException { 37 | 38 | final String json = "{" + quote("1970-01-01T00:00:00.000Z") + ":0}"; 39 | final Map map = MAPPER.readValue(json, new TypeReference>() { }); 40 | 41 | assertNotNull(map); 42 | assertTrue(map.containsKey(DateTime.parse("1970-01-01T00:00:00.000Z"))); 43 | } 44 | 45 | @Test 46 | public void testLocalDateKeyDeserialize() throws IOException { 47 | 48 | final String json = "{" + quote("2014-05-23") + ":0}"; 49 | final Map map = MAPPER.readValue(json, new TypeReference>() { }); 50 | 51 | assertNotNull(map); 52 | assertTrue(map.containsKey(LocalDate.parse("2014-05-23"))); 53 | } 54 | 55 | @Test 56 | public void testLocalTimeKeyDeserialize() throws IOException { 57 | 58 | final String json = "{" + quote("00:00:00.000") + ":0}"; 59 | final Map map = MAPPER.readValue(json, new TypeReference>() { }); 60 | assertNotNull(map); 61 | assertTrue(map.containsKey(LocalTime.parse("00:00:00.000"))); 62 | } 63 | @Test 64 | public void testLocalDateTimeKeyDeserialize() throws IOException { 65 | 66 | final String json = "{" + quote("2014-05-23T00:00:00.000") + ":0}"; 67 | final Map map = MAPPER.readValue(json, new TypeReference>() { }); 68 | assertNotNull(map); 69 | assertTrue(map.containsKey(LocalDateTime.parse("2014-05-23T00:00:00.000"))); 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/deser/LocalTimeDeserTest.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.deser; 2 | 3 | import java.io.IOException; 4 | 5 | import org.joda.time.LocalTime; 6 | 7 | import org.junit.jupiter.api.Test; 8 | 9 | import com.fasterxml.jackson.annotation.JsonTypeInfo; 10 | import com.fasterxml.jackson.databind.ObjectMapper; 11 | import com.fasterxml.jackson.datatype.joda.JodaTestBase; 12 | 13 | import static org.junit.jupiter.api.Assertions.*; 14 | 15 | public class LocalTimeDeserTest extends JodaTestBase 16 | { 17 | @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.WRAPPER_ARRAY) 18 | private static interface ObjectConfiguration { 19 | } 20 | 21 | private final ObjectMapper MAPPER = jodaMapper(); 22 | 23 | /* 24 | /********************************************************** 25 | /* Tests for LocalTime type 26 | /********************************************************** 27 | */ 28 | 29 | @Test 30 | public void testLocalTimeDeser() throws IOException 31 | { 32 | // couple of acceptable formats, so: 33 | LocalTime time = MAPPER.readValue("[23,59,1,222]", LocalTime.class); 34 | assertEquals(23, time.getHourOfDay()); 35 | assertEquals(59, time.getMinuteOfHour()); 36 | assertEquals(1, time.getSecondOfMinute()); 37 | assertEquals(222, time.getMillisOfSecond()); 38 | 39 | LocalTime time2 = MAPPER.readValue(quote("13:45:22"), LocalTime.class); 40 | assertEquals(13, time2.getHourOfDay()); 41 | assertEquals(45, time2.getMinuteOfHour()); 42 | assertEquals(22, time2.getSecondOfMinute()); 43 | assertEquals(0, time2.getMillisOfSecond()); 44 | 45 | // since 1.6.1, for [JACKSON-360] 46 | assertNull(MAPPER.readValue(quote(""), LocalTime.class)); 47 | } 48 | 49 | @Test 50 | public void testLocalTimeDeserWithTypeInfo() throws IOException 51 | { 52 | ObjectMapper mapper = jodaMapper(); 53 | mapper.addMixIn(LocalTime.class, ObjectConfiguration.class); 54 | 55 | // couple of acceptable formats, so: 56 | LocalTime time = mapper.readValue("[\"org.joda.time.LocalTime\",[23,59,1,10]]", LocalTime.class); 57 | assertEquals(23, time.getHourOfDay()); 58 | assertEquals(59, time.getMinuteOfHour()); 59 | assertEquals(1, time.getSecondOfMinute()); 60 | assertEquals(10, time.getMillisOfSecond()); 61 | 62 | LocalTime time2 = mapper.readValue("[\"org.joda.time.LocalTime\",\"13:45:22\"]", LocalTime.class); 63 | assertEquals(13, time2.getHourOfDay()); 64 | assertEquals(45, time2.getMinuteOfHour()); 65 | assertEquals(22, time2.getSecondOfMinute()); 66 | assertEquals(0, time2.getMillisOfSecond()); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/ser/DateTimeOwnZoneSerialization92Test.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.util.TimeZone; 4 | 5 | import org.joda.time.DateTime; 6 | import org.joda.time.DateTimeZone; 7 | import org.junit.jupiter.api.Test; 8 | 9 | import com.fasterxml.jackson.databind.ObjectMapper; 10 | import com.fasterxml.jackson.databind.SerializationFeature; 11 | import com.fasterxml.jackson.datatype.joda.JodaTestBase; 12 | 13 | import static org.junit.jupiter.api.Assertions.assertEquals; 14 | 15 | // [dataformat-joda#92] DateTime serialization result is not same as Java 8 ZonedDateTime 16 | public class DateTimeOwnZoneSerialization92Test 17 | extends JodaTestBase 18 | { 19 | private final ObjectMapper MAPPER = mapperWithModuleBuilder().disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).build(); 20 | 21 | @Test 22 | public void dateTimeShouldRetainItsOwnZone() throws Exception { 23 | DateTime jodaZonedDateTime = new DateTime(2023, 10, 1, 12, 2, 3, 123, DateTimeZone.forID("Asia/Shanghai")); 24 | 25 | // without WRITE_DATES_WITH_CONTEXT_TIME_ZONE 26 | assertEquals("\"2023-10-01T12:02:03.123+08:00\"", 27 | MAPPER.writer() 28 | .with(TimeZone.getTimeZone("UTC")) 29 | .without(SerializationFeature.WRITE_DATES_WITH_CONTEXT_TIME_ZONE) 30 | .writeValueAsString(jodaZonedDateTime)); 31 | 32 | // with WRITE_DATES_WITH_CONTEXT_TIME_ZONE 33 | assertEquals("\"2023-10-01T04:02:03.123Z\"", 34 | MAPPER.writer() 35 | .with(TimeZone.getTimeZone("UTC")) 36 | .with(SerializationFeature.WRITE_DATES_WITH_CONTEXT_TIME_ZONE) 37 | .writeValueAsString(jodaZonedDateTime)); 38 | } 39 | 40 | } -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/ser/DateTimeSerializationWithOffsets146Test.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import com.fasterxml.jackson.databind.ObjectMapper; 4 | import com.fasterxml.jackson.databind.SerializationFeature; 5 | 6 | import com.fasterxml.jackson.datatype.joda.JodaTestBase; 7 | 8 | import org.joda.time.*; 9 | 10 | import org.junit.jupiter.api.Test; 11 | 12 | import static org.junit.jupiter.api.Assertions.*; 13 | 14 | // [datatype-joda#146]: disable overwriting of timezone 15 | public class DateTimeSerializationWithOffsets146Test 16 | extends JodaTestBase 17 | { 18 | // [datatype-joda#146] 19 | @Test 20 | public void testLocalDateSerDefault() throws Exception 21 | { 22 | final String inputStr = "2024-12-01T12:00:00.000+02:00"; 23 | final DateTime inputValue = DateTime.parse(inputStr); 24 | final ObjectMapper mapper = mapperWithModuleBuilder() 25 | .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) 26 | .build(); 27 | 28 | // By default, do adjust timezone to UTC 29 | final String defaultOutput = mapper.writeValueAsString(inputValue); 30 | assertEquals(q("2024-12-01T10:00:00.000Z"), defaultOutput); 31 | 32 | // But if we disable it, no adjustment 33 | final String alternateOutput = mapper.writer() 34 | .without(SerializationFeature.WRITE_DATES_WITH_CONTEXT_TIME_ZONE) 35 | .writeValueAsString(inputValue); 36 | 37 | assertEquals(q(inputStr), alternateOutput); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/ser/DaysSerializationTest.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.util.*; 4 | 5 | import org.joda.time.Days; 6 | import org.junit.jupiter.api.Test; 7 | 8 | import com.fasterxml.jackson.databind.ObjectMapper; 9 | import com.fasterxml.jackson.datatype.joda.JodaTestBase; 10 | 11 | import static org.junit.jupiter.api.Assertions.assertEquals; 12 | 13 | public class DaysSerializationTest extends JodaTestBase 14 | { 15 | final ObjectMapper MAPPER = mapperWithModuleBuilder().build(); 16 | 17 | @Test 18 | public void testPeriodSerialization() 19 | throws Exception 20 | { 21 | Map map = Collections.singletonMap("days", Days.days(7)); 22 | 23 | assertEquals("{\"days\":7}", MAPPER.writeValueAsString(map)); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/ser/InstantSerializationTest.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import java.text.SimpleDateFormat; 4 | 5 | import org.joda.time.DateTime; 6 | import org.joda.time.Instant; 7 | 8 | import org.junit.jupiter.api.Test; 9 | 10 | import com.fasterxml.jackson.databind.ObjectMapper; 11 | import com.fasterxml.jackson.databind.SerializationFeature; 12 | import com.fasterxml.jackson.datatype.joda.JodaTestBase; 13 | 14 | import static org.junit.jupiter.api.Assertions.*; 15 | 16 | public class InstantSerializationTest extends JodaTestBase 17 | { 18 | private final ObjectMapper MAPPER = mapperWithModuleBuilder() 19 | .enable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) 20 | .enable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS) 21 | .build(); 22 | 23 | @Test 24 | public void testInstantSer() throws Exception { 25 | Instant instant = new Instant(0L); 26 | 27 | // by default, dates use timestamp, so: 28 | assertEquals("0", MAPPER.writeValueAsString(instant)); 29 | 30 | // but if re-configured, as regular ISO-8601 string 31 | assertEquals(q("1970-01-01T00:00:00.000Z"), MAPPER.writer() 32 | .without(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) 33 | .writeValueAsString(instant)); 34 | } 35 | 36 | @Test 37 | public void testCustomFormatInstantSer() throws Exception 38 | { 39 | final String json = MAPPER.writer() 40 | .without(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) 41 | .writeValueAsString(new FormattedInstant(new Instant(0L))); 42 | assertEquals(a2q( 43 | "{'value':'01/01/1970 00_00_00_000'}"), json); 44 | } 45 | 46 | // [datatype-joda#60] 47 | @Test 48 | public void testInstantConversion() throws Exception 49 | { 50 | final ObjectMapper mapper = mapperWithModuleBuilder() 51 | // Configure Date Formatting 52 | .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) 53 | .build(); 54 | mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")); 55 | 56 | // Create an instant and serialize and additionally serialize the instant as DateTime to demonstrate the difference 57 | org.joda.time.Instant now = new DateTime(1431498572205L).toInstant(); 58 | 59 | assertEquals("\"2015-05-13T06:29:32.205Z\"", mapper.writeValueAsString(now)); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/ser/WriteZoneIdTest.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.ser; 2 | 3 | import org.joda.time.DateTime; 4 | import org.joda.time.DateTimeZone; 5 | 6 | import org.junit.jupiter.api.Test; 7 | 8 | import com.fasterxml.jackson.annotation.JsonFormat; 9 | import com.fasterxml.jackson.databind.ObjectMapper; 10 | import com.fasterxml.jackson.datatype.joda.JodaTestBase; 11 | 12 | import static org.junit.jupiter.api.Assertions.*; 13 | 14 | public class WriteZoneIdTest extends JodaTestBase 15 | { 16 | static class DummyClassWithDate { 17 | @JsonFormat(shape = JsonFormat.Shape.STRING, 18 | pattern = "dd-MM-yyyy hh:mm:ss Z", 19 | with = JsonFormat.Feature.WRITE_DATES_WITH_ZONE_ID) 20 | public DateTime date; 21 | 22 | DummyClassWithDate() { } 23 | 24 | public DummyClassWithDate(DateTime date) { 25 | this.date = date; 26 | } 27 | } 28 | 29 | @Test 30 | public void testJacksonAnnotatedPOJOWithDateWithTimezoneToJson() throws Exception 31 | { 32 | final ObjectMapper mapper = jodaMapper(); 33 | String ZONE_ID = "Asia/Krasnoyarsk"; 34 | 35 | DummyClassWithDate input = new DummyClassWithDate(new DateTime(2015, 11, 23, 22, 06, 39, 36 | DateTimeZone.forID(ZONE_ID))); 37 | // 30-Jun-2016, tatu: Exact time seems to vary a bit based on DST, so let's actually 38 | // just verify appending of timezone id itself: 39 | String json = mapper.writeValueAsString(input); 40 | if (!json.contains("\"23-11-2015")) { 41 | fail("Should contain time prefix, did not: "+json); 42 | } 43 | String match = String.format("[%s]", ZONE_ID); 44 | if (!json.contains(match)) { 45 | fail("Should contain zone id "+match+", does not: "+json); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/testutil/failure/JacksonTestFailureExpected.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.testutil.failure; 2 | 3 | import java.lang.annotation.*; 4 | 5 | import org.junit.jupiter.api.extension.ExtendWith; 6 | 7 | /** 8 | *

9 | * Annotation used to indicate that a JUnit-5 based tests method is expected to fail. 10 | * 11 | *

12 | * When a test method is annotated with {@code @JacksonTestFailureExpected}, the 13 | * {@link JacksonTestFailureExpectedInterceptor} will intercept the test execution. 14 | * If the test passes, which is an unexpected behavior, the interceptor will throw an exception to fail the test, 15 | * indicating that the test was expected to fail but didn't. 16 | *

17 | * 18 | *

Usage Example:

19 | * 20 | *

21 |  *
22 |  *     @Test
23 |  *     @JacksonTestFailureExpected
24 |  *     public void testFeatureNotYetImplemented() {
25 |  *         // Test code that is expected to fail
26 |  *     }
27 |  * }
28 |  * 
29 | * 30 | *

31 | * 32 | * @since 2.19 33 | */ 34 | @Target({ElementType.METHOD}) 35 | @Retention(RetentionPolicy.RUNTIME) 36 | @ExtendWith(JacksonTestFailureExpectedInterceptor.class) 37 | public @interface JacksonTestFailureExpected { } 38 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/testutil/failure/JacksonTestFailureExpectedInterceptor.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.testutil.failure; 2 | 3 | import java.lang.reflect.Method; 4 | 5 | import org.junit.jupiter.api.extension.*; 6 | 7 | /** 8 | * Custom {@link InvocationInterceptor} that intercepts test method invocation. 9 | * To pass the test ***only if*** test fails with an exception, and fail the test otherwise. 10 | * 11 | * @since 2.19 12 | */ 13 | public class JacksonTestFailureExpectedInterceptor 14 | implements InvocationInterceptor 15 | { 16 | @Override 17 | public void interceptTestMethod(Invocation invocation, 18 | ReflectiveInvocationContext invocationContext, ExtensionContext extensionContext) 19 | throws Throwable 20 | { 21 | try { 22 | invocation.proceed(); 23 | } catch (Throwable t) { 24 | // do-nothing, we do expect an exception 25 | return; 26 | } 27 | handleUnexpectePassingTest(invocationContext); 28 | } 29 | 30 | private void handleUnexpectePassingTest(ReflectiveInvocationContext invocationContext) { 31 | // Collect information we need 32 | Object targetClass = invocationContext.getTargetClass(); 33 | Object testMethod = invocationContext.getExecutable().getName(); 34 | //List arguments = invocationContext.getArguments(); 35 | 36 | // Create message 37 | String message = String.format("Test method %s.%s() passed, but should have failed", targetClass, testMethod); 38 | 39 | // throw exception 40 | throw new JacksonTestShouldFailException(message); 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /src/test/java/com/fasterxml/jackson/datatype/joda/testutil/failure/JacksonTestShouldFailException.java: -------------------------------------------------------------------------------- 1 | package com.fasterxml.jackson.datatype.joda.testutil.failure; 2 | 3 | /** 4 | * Exception used to alert that a test is passing, but should be failing. 5 | * 6 | * WARNING : This only for test code, and should never be thrown from production code. 7 | * 8 | * @since 2.19 9 | */ 10 | public class JacksonTestShouldFailException 11 | extends RuntimeException 12 | { 13 | private static final long serialVersionUID = 1L; 14 | 15 | public JacksonTestShouldFailException(String msg) { 16 | super(msg); 17 | } 18 | } 19 | --------------------------------------------------------------------------------