<i18n dev> RFR: JDK-8318761: MessageFormat pattern support for CompactNumberFormat, ListFormat, and DateTimeFormatter [v5]
Justin Lu
jlu at openjdk.org
Tue Feb 6 22:34:11 UTC 2024
> 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"
Justin Lu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits:
- Merge remote-tracking branch 'origin/JDK-8318761-j.text.MessageFormat-pattern-enh' into JDK-8318761-j.text.MessageFormat-pattern-enh
- Apply spacing suggestions
Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
- implement some feedback from Roger's comments
- merge master and resolve conflicts stemming from 8323699
- add expected message to exception checking
- Use Naoto's recommended example
- reflect Naoto's comments
- init
-------------
Changes: https://git.openjdk.org/jdk/pull/17663/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17663&range=04
Stats: 1250 lines in 6 files changed: 923 ins; 205 del; 122 mod
Patch: https://git.openjdk.org/jdk/pull/17663.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17663/head:pull/17663
PR: https://git.openjdk.org/jdk/pull/17663
More information about the i18n-dev
mailing list