RFR: [15] JDK-8237492 Reorganize impl of doclet options

Jonathan Gibbons jonathan.gibbons at oracle.com
Sat Jan 18 01:51:24 UTC 2020

Please review a code-cleanup to reorganize the code to handle doclet 

Fundamentally, the change is to move the methods and fields to handle 
option processing from BaseConfiguration and HtmlConfiguration out into 
new abstractions BaseOptions and HtmlOptions.  As such, the dominant 
changes are to these 4 files.

The impact on the rest of the doclet code is just to change where to 
access the values for options: instead of accessing the values directly 
from the *Configuration classes, the values are now obtained from the 
corresponding *Option classes, which are in turn accessed from the 
*Configuration classes. The reference to the Options objects are 
typically cached when there are a large number of usages in the code. In 
a  number of cases, the cache is in a supertype, which reduces the 
visible churn.

I've taken this opportunity to rename the fields for the values of 
options into the standard camelCase convention. And, I've done some 
basic work to clean up comments, although more could be done (later).

Fixing a bunch of spurious warnings uncoverable a real warning, that the 
code was creating a sorted set of incomparable Option objects. This 
changeset also fixes that issue, which mostly just shows up in the 
signatures for internal collections of option objects.

There is no change in functionality here. All the tests pass without 
change, except for one that was tunneling into an impl class, and which 
needed to be updated.

There's probably a similar cleanup coming to the code to handle tool 

-- Jon

JBS: https://bugs.openjdk.java.net/browse/JDK-8237492
Webrev: http://cr.openjdk.java.net/~jjg/8237492/webrev/

More information about the javadoc-dev mailing list