On Apr 19 2011, at 04:52 , Ulf Zibis wrote:

> Am 19.04.2011 00:24, schrieb Mike Duigou:
>> Hello All;
>> 
>> I have updated the webrev for the standard Charset constants based upon 
>> feedback received from the earlier reviews. The constants class is now named 
>> StandardCharset rather than Charsets in mimicry of the class naming used by 
>> NIO.2 (JSR 203). According to the conventions used by JSR 203 and elsewhere 
>> in JDK a "Charsets" class would be for static utility methods rather than 
>> solely constants.
>> 
>> The DEFAULT_CHARSET definition is also now removed. The 
>> Charset.getDefaultCharset() method makes it more clear that the value is not 
>> a constant across all all JVM instances.
>> 
>> Also now included is a small unit test and replacement of several uses of 
>> Charset.forname() for standard charset names within the platform.
>> 
>> The latest webrev : 
>> http://cr.openjdk.java.net/~mduigou/4884238/2/webrev/
>> 
>> 
>> Any other remaining feeback?
>> 
>> 
> 
> Reading 'StandardCharset' one expects _the_ standard charset, but we have a 
> collection of 6 here, so I'm for 'StandardCharsets' similar to e.g. 
> j.u.z.ZipConstants, j.u.z.ZipConstants64, ...

See my response to Mark for the singular vs plural issue.

> I think, we should catch the problem at the source. ... In my approach from 
> Bug 100098 - Make sun.nio.cs.* charset objects light-weight such a class is 
> named 'FastCharset'.

Unfortunately any we at a very late stage in Java 7's development and the 
degree of change required by 100098 are not possible. This issue itself may 
also be rejected solely for missing impending deadlines. I can't comment at all 
about the prospects for Java 8 as I am not generally involved with 
charset/unicode work. This issue is a one time involvement with Charset for me.

> So I tend to prefer the original request from 4884238 (have the canonical 
> names as constants), as the lookup via Charset.forName(...) then could be 
> very fast compared to the anyway following heavy de/encoding work.

I think that in most uses a constant of the Charset is more useful as that's 
what's desired for use. I am not opposed to having visible constants for the 
charset names but I don't think it's as useful as the Charset objects. The 
performance of Charset.forName() is a separate matter. 

Mike

Reply via email to