> 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 <turban...@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