Minor nit:
Appendable foo(Appendable bar)
should be
<A extend Appendable> A foo(A bar)
That way, if you say
hex.formatHex(aStringBuilder, bytes)
.foo()
where foo() is a method on StringBuilder but not on Appendable, it will
still work as expected.
On 9/28/2020 11:32 AM, Roger Riggs wrote:
After some reflection on the comments, suggestions, and other advice
offered
the Hex format API has undergone a significant rewrite.
The improvements include:
- Merged format and parse classes into a single class HexFormat that
holds parameters and has methods for all conversions
- Simplified static factories and added builder methods to create
HexFormat copies with modified parameters.
- Consistent naming of methods for conversion of byte arrays to
formatted strings and back: formatHex and parseHex
- Consistent naming of methods for conversion of primitive types:
toHexDigits... and fromHexDigits...
- Prefix and suffixes now apply to each formatted value, not the
string as a whole
- Using java.util.Appendable as a target for buffered conversions so
output to Writers and PrintStreams
like System.out are supported in addition to StringBuilder.
(IOExceptions are converted to unchecked exceptions)
The HexFormat javadoc is at:
http://cr.openjdk.java.net/~rriggs/8251989-hex-formatter/java.base/java/util/HexFormat.html
Thanks to all that commented and made suggestions on core-libs-dev and
privately.
Please review and comment. When the API has settled, I'll turn it
into a PR and CSR.
Thanks, Roger