Steve,

In JarFile, please use methods not fields to return the new information. The information in question is not constant across versions. Using methods instead of fields avoid over-committing on a particular implementation, etc.

Cheers,

-Joe

On 6/15/2016 3:49 PM, Steve Drach wrote:
I’ve updated the webrev to address the issue of the constructor accepting 
values like Version.parse(“7.1”)

http://cr.openjdk.java.net/~sdrach/8150680/webrev.01/ 
<http://cr.openjdk.java.net/~sdrach/8150680/webrev.01/>

On Jun 15, 2016, at 8:56 AM, Steve Drach <steve.dr...@oracle.com> wrote:

Please review the following changeset:

webrev: http://cr.openjdk.java.net/~sdrach/8150680/webrev.00/index.html 
<http://cr.openjdk.java.net/~sdrach/8150680/webrev.00/index.html>
issue: https://bugs.openjdk.java.net/browse/JDK-8150680 
<https://bugs.openjdk.java.net/browse/JDK-8150680>

The issue calls for reconsidering the JarFile.Release enum.  A comment in the 
bug report suggests replacing JarFile.Release with Runtime.Version, and that’s 
what I did.  Specifically I removed the enum, changed the constructor to accept 
a Runtime.Version object instead of a JarFile.Release object, updated all 
places in the JDK that invoked the constructor and updated all tests.

Moving to Runtime.Version seems right but doesn't the javadoc for the constructor need to 
be updated to make it clear how it behavior when invoking with something like 
Version.parse("7.1") ? If I read the code correctly then this will be accepted 
and getVersion() will return 7.1.
Yes, it needs to be updated and it needs to be fixed.  Thanks for finding that.

Fields or methods is another discussion point for the base and runtime versions.
My thinking is, in this case fields and methods are equivalent, the method not 
giving any more flexibility than a field.  For example the method 
JarFile.baseVersion will just return the value contained in the private final 
static field BASE_VERSION.  Or the public final static field BASE_VERSION can 
be directly accessed.  I see no advantage of a method here.  But I’m willing to 
be enlightened.

-Alan.

Reply via email to