Please review this PR which adds public StringBuilder overloads to the 
formatting methods of java.text.Format and implementing subclasses.

While Format, NumberFormat, and DateFormat are abstract, these new methods are 
not added as abstract to prevent compatibility concerns. Instead they are added 
as non-abstract methods, with a default implementation that throws UOE and a 
recommendation that subclasses override and provide their own implementations. 
These new methods use the same specification as the StringBuffer ones, with 
exception of `MessageFormat.format(format(Object[] arguments, StringBuilder 
result, FieldPosition pos)` which omits the table, and instead links to it.

The JDK implementing Format classes, (such as DecimalFormat) leverage the 
StringBuf proxy methods.

A corresponding CSR has been drafted: 
https://bugs.openjdk.org/browse/JDK-8337141, which goes into detail on 
motivation/history. (Holding off on uploading the specification to CSR until 
wording finalized).

-------------

Commit messages:
 - init

Changes: https://git.openjdk.org/jdk/pull/20337/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20337&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8313205
  Stats: 883 lines in 12 files changed: 881 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/20337.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20337/head:pull/20337

PR: https://git.openjdk.org/jdk/pull/20337

Reply via email to