diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeFormatterFactory.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeFormatterFactory.java index 56217cd5d8..fe9285b8db 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeFormatterFactory.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeFormatterFactory.java @@ -42,7 +42,9 @@ import org.springframework.util.StringUtils; * @see #setStyle * @see #setIso * @see DateTimeFormatterFactoryBean + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public class DateTimeFormatterFactory { @Nullable diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeFormatterFactoryBean.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeFormatterFactoryBean.java index 3a49d991f6..6461226243 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeFormatterFactoryBean.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeFormatterFactoryBean.java @@ -33,7 +33,9 @@ import org.springframework.lang.Nullable; * @see #setIso * @see #setStyle * @see DateTimeFormatterFactory + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public class DateTimeFormatterFactoryBean extends DateTimeFormatterFactory implements FactoryBean, InitializingBean { diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeParser.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeParser.java index 7c7c70a20a..3aad895979 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeParser.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/DateTimeParser.java @@ -29,7 +29,9 @@ import org.springframework.format.Parser; * * @author Keith Donald * @since 3.0 + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public final class DateTimeParser implements Parser { private final DateTimeFormatter formatter; diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaDateTimeFormatAnnotationFormatterFactory.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaDateTimeFormatAnnotationFormatterFactory.java index 14b12d46ba..4834f8519a 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaDateTimeFormatAnnotationFormatterFactory.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaDateTimeFormatAnnotationFormatterFactory.java @@ -45,7 +45,9 @@ import org.springframework.util.StringUtils; * @author Juergen Hoeller * @since 3.0 * @see DateTimeFormat + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public class JodaDateTimeFormatAnnotationFormatterFactory extends EmbeddedValueResolutionSupport implements AnnotationFormatterFactory { diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeContext.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeContext.java index d889bd2205..ce64ed49d3 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeContext.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeContext.java @@ -36,7 +36,9 @@ import org.springframework.lang.Nullable; * @author Keith Donald * @since 3.0 * @see JodaTimeContextHolder + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public class JodaTimeContext { @Nullable diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeContextHolder.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeContextHolder.java index 302695ecee..791928b041 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeContextHolder.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeContextHolder.java @@ -31,7 +31,9 @@ import org.springframework.lang.Nullable; * @author Juergen Hoeller * @since 3.0 * @see org.springframework.context.i18n.LocaleContextHolder + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public final class JodaTimeContextHolder { private static final ThreadLocal jodaTimeContextHolder = diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeFormatterRegistrar.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeFormatterRegistrar.java index b3376a37f9..5ac626c00f 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeFormatterRegistrar.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/JodaTimeFormatterRegistrar.java @@ -55,7 +55,9 @@ import org.springframework.format.annotation.DateTimeFormat.ISO; * @see FormatterRegistrar#registerFormatters * @see org.springframework.format.datetime.DateFormatterRegistrar * @see DateTimeFormatterFactoryBean + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public class JodaTimeFormatterRegistrar implements FormatterRegistrar { private enum Type {DATE, TIME, DATE_TIME} diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalDateParser.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalDateParser.java index f05811b481..d900799a36 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalDateParser.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalDateParser.java @@ -30,7 +30,9 @@ import org.springframework.format.Parser; * * @author Juergen Hoeller * @since 4.0 + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public final class LocalDateParser implements Parser { private final DateTimeFormatter formatter; diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalDateTimeParser.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalDateTimeParser.java index 5ed8409ede..5cce2985da 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalDateTimeParser.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalDateTimeParser.java @@ -30,7 +30,9 @@ import org.springframework.format.Parser; * * @author Juergen Hoeller * @since 4.0 + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public final class LocalDateTimeParser implements Parser { private final DateTimeFormatter formatter; diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalTimeParser.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalTimeParser.java index dfbe2c1692..3b8698abf2 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalTimeParser.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/LocalTimeParser.java @@ -30,7 +30,9 @@ import org.springframework.format.Parser; * * @author Juergen Hoeller * @since 4.0 + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public final class LocalTimeParser implements Parser { private final DateTimeFormatter formatter; diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/MillisecondInstantPrinter.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/MillisecondInstantPrinter.java index eece381be3..90fbe5c98f 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/MillisecondInstantPrinter.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/MillisecondInstantPrinter.java @@ -27,7 +27,9 @@ import org.springframework.format.Printer; * * @author Keith Donald * @since 3.0 + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public final class MillisecondInstantPrinter implements Printer { private final DateTimeFormatter formatter; diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/ReadableInstantPrinter.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/ReadableInstantPrinter.java index 09027f723a..86baa9910f 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/ReadableInstantPrinter.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/ReadableInstantPrinter.java @@ -28,7 +28,9 @@ import org.springframework.format.Printer; * * @author Keith Donald * @since 3.0 + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public final class ReadableInstantPrinter implements Printer { private final DateTimeFormatter formatter; diff --git a/spring-context/src/main/java/org/springframework/format/datetime/joda/ReadablePartialPrinter.java b/spring-context/src/main/java/org/springframework/format/datetime/joda/ReadablePartialPrinter.java index 294aefdc08..b241108b50 100644 --- a/spring-context/src/main/java/org/springframework/format/datetime/joda/ReadablePartialPrinter.java +++ b/spring-context/src/main/java/org/springframework/format/datetime/joda/ReadablePartialPrinter.java @@ -28,7 +28,9 @@ import org.springframework.format.Printer; * * @author Keith Donald * @since 3.0 + * @deprecated as of 5.3.0, scheduled for removal in 6.0. */ +@Deprecated public final class ReadablePartialPrinter implements Printer { private final DateTimeFormatter formatter; diff --git a/spring-context/src/main/java/org/springframework/format/support/DefaultFormattingConversionService.java b/spring-context/src/main/java/org/springframework/format/support/DefaultFormattingConversionService.java index 77316eaf4b..805a9828c4 100644 --- a/spring-context/src/main/java/org/springframework/format/support/DefaultFormattingConversionService.java +++ b/spring-context/src/main/java/org/springframework/format/support/DefaultFormattingConversionService.java @@ -19,7 +19,6 @@ package org.springframework.format.support; import org.springframework.core.convert.support.DefaultConversionService; import org.springframework.format.FormatterRegistry; import org.springframework.format.datetime.DateFormatterRegistrar; -import org.springframework.format.datetime.joda.JodaTimeFormatterRegistrar; import org.springframework.format.datetime.standard.DateTimeFormatterRegistrar; import org.springframework.format.number.NumberFormatAnnotationFormatterFactory; import org.springframework.format.number.money.CurrencyUnitFormatter; @@ -57,7 +56,6 @@ public class DefaultFormattingConversionService extends FormattingConversionServ jodaTimePresent = ClassUtils.isPresent("org.joda.time.YearMonth", classLoader); } - /** * Create a new {@code DefaultFormattingConversionService} with the set of * {@linkplain DefaultConversionService#addDefaultConverters default converters} and @@ -106,6 +104,7 @@ public class DefaultFormattingConversionService extends FormattingConversionServ * depending on the presence of the corresponding API on the classpath. * @param formatterRegistry the service to register default formatters with */ + @SuppressWarnings("deprecation") public static void addDefaultFormatters(FormatterRegistry formatterRegistry) { // Default handling of number values formatterRegistry.addFormatterForFieldAnnotation(new NumberFormatAnnotationFormatterFactory()); @@ -124,7 +123,7 @@ public class DefaultFormattingConversionService extends FormattingConversionServ if (jodaTimePresent) { // handles Joda-specific types as well as Date, Calendar, Long - new JodaTimeFormatterRegistrar().registerFormatters(formatterRegistry); + new org.springframework.format.datetime.joda.JodaTimeFormatterRegistrar().registerFormatters(formatterRegistry); } else { // regular DateFormat-based Date, Calendar, Long converters diff --git a/src/docs/asciidoc/core/core-validation.adoc b/src/docs/asciidoc/core/core-validation.adoc index 1ac316cdc3..dc82871724 100644 --- a/src/docs/asciidoc/core/core-validation.adoc +++ b/src/docs/asciidoc/core/core-validation.adoc @@ -1362,8 +1362,7 @@ The `format` subpackages provide several `Formatter` implementations as a conven The `number` package provides `NumberStyleFormatter`, `CurrencyStyleFormatter`, and `PercentStyleFormatter` to format `Number` objects that use a `java.text.NumberFormat`. The `datetime` package provides a `DateFormatter` to format `java.util.Date` objects with -a `java.text.DateFormat`. The `datetime.joda` package provides comprehensive datetime -formatting support based on the https://www.joda.org/joda-time/[Joda-Time library]. +a `java.text.DateFormat`. The following `DateFormatter` is an example `Formatter` implementation: @@ -1568,7 +1567,7 @@ example shows: A portable format annotation API exists in the `org.springframework.format.annotation` package. You can use `@NumberFormat` to format `Number` fields such as `Double` and `Long`, and `@DateTimeFormat` to format `java.util.Date`, `java.util.Calendar`, `Long` -(for millisecond timestamps) as well as JSR-310 `java.time` and Joda-Time value types. +(for millisecond timestamps) as well as JSR-310 `java.time`. The following example uses `@DateTimeFormat` to format a `java.util.Date` as an ISO Date (yyyy-MM-dd): @@ -1701,8 +1700,7 @@ To do that, ensure that Spring does not register default formatters. Instead, re formatters manually with the help of: * `org.springframework.format.datetime.standard.DateTimeFormatterRegistrar` -* `org.springframework.format.datetime.DateFormatterRegistrar`, or -`org.springframework.format.datetime.joda.JodaTimeFormatterRegistrar` for Joda-Time. +* `org.springframework.format.datetime.DateFormatterRegistrar` For example, the following Java configuration registers a global `yyyyMMdd` format: @@ -1764,8 +1762,7 @@ For example, the following Java configuration registers a global `yyyyMMdd` form ---- If you prefer XML-based configuration, you can use a -`FormattingConversionServiceFactoryBean`. The following example shows how to do so (this time using Joda -Time): +`FormattingConversionServiceFactoryBean`. The following example shows how to do so: [source,xml,indent=0,subs="verbatim,quotes"] ---- @@ -1785,9 +1782,9 @@ Time): - + - +