Integrated: JDK-8318761: MessageFormat pattern support for CompactNumberFormat, ListFormat, and DateTimeFormatter
Justin Lu
jlu at openjdk.org
Thu Feb 22 22:30:03 UTC 2024
On Wed, 31 Jan 2024 22:24:14 GMT, Justin Lu <jlu at openjdk.org> wrote:
> Please review this PR and [CSR](https://bugs.openjdk.org/browse/JDK-8319344) which adds MessageFormat pattern support for the following subformats: ListFormat, CompactNumberFormat, and DateTimeFormatter. This change is intended to provide pattern support for the more recently added JDK Format subclasses, as well as improving java.time formatting within i18n. The draft javadoc can be viewed here: https://cr.openjdk.org/~jlu/docs/api/java.base/java/text/MessageFormat.html. Please see the CSR for more in-depth behavioral changes, as well as limitations.
>
> The `FormatTypes`: dtf_date, dtf_time, dtf_datetime, pre-defined DateTimeFormatter(s), and list are added.
> The `FormatStyles`: compact_short, compact_long, or, and unit are added.
>
> For example, previously,
>
>
> Object[] args = {LocalDate.of(2023, 11, 16), LocalDate.of(2023, 11, 27)};
> MessageFormat.format("It was {0,date,full}, now it is {1,date,full}", args);
>
>
> would throw `Exception java.lang.IllegalArgumentException: Cannot format given Object as a Date`
>
> Now, a user can call
>
>
> MessageFormat.format("It was {0,dtf_date,full}, now it is {1,dtf_date,full}", args);
>
>
> which returns "It was Thursday, November 16, 2023, now it is Friday, November 17, 2023"
This pull request has now been integrated.
Changeset: 00ffc42c
Author: Justin Lu <jlu at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/00ffc42cef79d82b2f417c133a48bffec4c7e6b9
Stats: 1258 lines in 7 files changed: 929 ins; 197 del; 132 mod
8318761: MessageFormat pattern support for CompactNumberFormat, ListFormat, and DateTimeFormatter
Reviewed-by: naoto, rriggs
-------------
PR: https://git.openjdk.org/jdk/pull/17663
More information about the core-libs-dev
mailing list