8251989: Unified Hex formatting and parsing utility

Roger Riggs Roger.Riggs at oracle.com
Fri Oct 2 15:24:31 UTC 2020


Hi Brian,

The correction on the signature is updated in the PR.
    https://github.com/openjdk/jdk/pull/482

Thanks, Roger


On 9/28/20 1:48 PM, Brian Goetz wrote:
> 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
>>
>>
>>
>>
>>
>



More information about the core-libs-dev mailing list