RFR: 8150680 JarFile.Release enum needs reconsideration with respect to it's values

Peter Levart peter.levart at gmail.com
Wed Jun 15 20:00:25 UTC 2016


Hi Steve,


On 06/15/2016 05:56 PM, Steve Drach wrote:
>> >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.
>

If you make the static final field part of public API, then you 
constrain yourself to initializing it in class initializer. If you keep 
it private and expose it via a static method now, then you keep the 
freedom to initialize it lazily if it ever happens to be needed in the 
future because of various reasons such as initialization circularity. 
But I don't know if this applies in your case. Would you ever need to 
use part of JarFile class early in bootup sequence before those fields 
can be initialized?

Regards, Peter



More information about the core-libs-dev mailing list