RFR: JDK-8240697: convert builders to high-level Content blocks

Jonathan Gibbons jonathan.gibbons at oracle.com
Sat Mar 7 02:58:13 UTC 2020


Please review a moderately simple changeset to convert some HTML 
builders to be high-level Content blocks instead.
The conceptual change is (almost) as simple as making the objects be 
subtypes of Content, and implementing the `write` method, so that 
clients can simply add instances to enclosing trees, without having to 
call .toContent().

This is in line with creating creating additional high-level builders 
later on that encapsulate code that is currently distributed in many 
places in the Writer(Impl) classes.

In adding, the Navigation class is moved from the formats.html.markup 
package (where it is out of place) to the formats..html package (where 
it better belongs.)  It was intended to also convert this "builder" into 
a Content block, like the other builders, but this is an unusual builder 
in that the builder is used to create two similar but different nav bars 
... for the top and bottom of the page. This was obscurely indicated by 
a boolean parameter to Navigation.getContent, which is replaced by using 
the already-existing enum Navigation.Position { TOP, BOTTOM }.  Various 
additional cleanup is done on Navigation, but this is not the time to do 
a more substantial overhaul.

This is all internal cleanup. There is no change to any generated code, 
and no tests need to be created or updated.

-- Jon


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



More information about the javadoc-dev mailing list