mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8240697: convert builders to high-level Content blocks
Reviewed-by: prappo
This commit is contained in:
parent
39ab073173
commit
0fd2ac701f
32 changed files with 297 additions and 216 deletions
|
@ -45,8 +45,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFile;
|
||||
|
|
|
@ -360,7 +360,7 @@ public abstract class AbstractMemberWriter implements MemberSummaryWriter {
|
|||
writer.addSummaryLinkComment(this, element, desc);
|
||||
useTable.addRow(summaryType, typeContent, desc);
|
||||
}
|
||||
contentTree.add(useTable.toContent());
|
||||
contentTree.add(useTable);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -453,7 +453,7 @@ public abstract class AbstractMemberWriter implements MemberSummaryWriter {
|
|||
if (table.needsScript()) {
|
||||
writer.getMainBodyScript().append(table.getScript());
|
||||
}
|
||||
return table.toContent();
|
||||
return table;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -28,10 +28,8 @@ package jdk.javadoc.internal.doclets.formats.html;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.BodyContents;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.RawHtml;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
||||
|
@ -72,7 +70,7 @@ public abstract class AbstractOverviewIndexWriter extends HtmlDocletWriter {
|
|||
protected void addNavigationBarHeader(Content header) {
|
||||
addTop(header);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
header.add(navBar.getContent(true));
|
||||
header.add(navBar.getContent(Navigation.Position.TOP));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -83,7 +81,7 @@ public abstract class AbstractOverviewIndexWriter extends HtmlDocletWriter {
|
|||
*/
|
||||
protected void addNavigationBarFooter(Content footer) {
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
footer.add(navBar.getContent(false));
|
||||
footer.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(footer);
|
||||
}
|
||||
|
||||
|
@ -135,8 +133,7 @@ public abstract class AbstractOverviewIndexWriter extends HtmlDocletWriter {
|
|||
body.add(new BodyContents()
|
||||
.setHeader(header)
|
||||
.addMainContent(main)
|
||||
.setFooter(footer)
|
||||
.toContent());
|
||||
.setFooter(footer));
|
||||
printHtmlDocument(
|
||||
configuration.metakeywords.getOverviewMetaKeywords(title, configuration.getOptions().docTitle()),
|
||||
description, body);
|
||||
|
|
|
@ -34,10 +34,8 @@ import com.sun.source.doctree.DocTree;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.BodyContents;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
|
@ -96,23 +94,22 @@ public class AllClassesIndexWriter extends HtmlDocletWriter {
|
|||
String label = resources.getText("doclet.All_Classes");
|
||||
Content header = new ContentBuilder();
|
||||
addTop(header);
|
||||
Navigation navBar = new Navigation(null, configuration, PageMode.ALLCLASSES, path);
|
||||
Navigation navBar = new Navigation(null, configuration, PageMode.ALL_CLASSES, path);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
header.add(navBar.getContent(true));
|
||||
header.add(navBar.getContent(Navigation.Position.TOP));
|
||||
Content allClassesContent = new ContentBuilder();
|
||||
addContents(allClassesContent);
|
||||
Content mainContent = new ContentBuilder();
|
||||
mainContent.add(allClassesContent);
|
||||
Content footer = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
footer.add(navBar.getContent(false));
|
||||
footer.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(footer);
|
||||
HtmlTree bodyTree = getBody(getWindowTitle(label));
|
||||
bodyTree.add(new BodyContents()
|
||||
.setHeader(header)
|
||||
.addMainContent(mainContent)
|
||||
.setFooter(footer)
|
||||
.toContent());
|
||||
.setFooter(footer));
|
||||
printHtmlDocument(null, "class index", bodyTree);
|
||||
}
|
||||
|
||||
|
@ -149,7 +146,7 @@ public class AllClassesIndexWriter extends HtmlDocletWriter {
|
|||
Content headerDiv = HtmlTree.DIV(HtmlStyle.header, pHeading);
|
||||
content.add(headerDiv);
|
||||
if (!table.isEmpty()) {
|
||||
content.add(table.toContent());
|
||||
content.add(table);
|
||||
if (table.needsScript()) {
|
||||
getMainBodyScript().append(table.getScript());
|
||||
}
|
||||
|
|
|
@ -29,10 +29,8 @@ import javax.lang.model.element.PackageElement;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.BodyContents;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
|
||||
|
@ -77,10 +75,10 @@ public class AllPackagesIndexWriter extends HtmlDocletWriter {
|
|||
protected void buildAllPackagesFile() throws DocFileIOException {
|
||||
String label = resources.getText("doclet.All_Packages");
|
||||
Content headerContent = new ContentBuilder();
|
||||
Navigation navBar = new Navigation(null, configuration, PageMode.ALLPACKAGES, path);
|
||||
Navigation navBar = new Navigation(null, configuration, PageMode.ALL_PACKAGES, path);
|
||||
addTop(headerContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
Content mainContent = new ContentBuilder();
|
||||
addPackages(mainContent);
|
||||
Content titleContent = contents.allPackagesLabel;
|
||||
|
@ -89,15 +87,14 @@ public class AllPackagesIndexWriter extends HtmlDocletWriter {
|
|||
Content headerDiv = HtmlTree.DIV(HtmlStyle.header, pHeading);
|
||||
Content footer = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
footer.add(navBar.getContent(false));
|
||||
footer.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(footer);
|
||||
HtmlTree bodyTree = getBody(getWindowTitle(label));
|
||||
bodyTree.add(new BodyContents()
|
||||
.setHeader(headerContent)
|
||||
.addMainContent(headerDiv)
|
||||
.addMainContent(mainContent)
|
||||
.setFooter(footer)
|
||||
.toContent());
|
||||
.setFooter(footer));
|
||||
printHtmlDocument(null, "package index", bodyTree);
|
||||
}
|
||||
|
||||
|
@ -119,6 +116,6 @@ public class AllPackagesIndexWriter extends HtmlDocletWriter {
|
|||
table.addRow(pkg, packageLinkContent, summaryContent);
|
||||
}
|
||||
}
|
||||
content.add(table.toContent());
|
||||
content.add(table);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,8 +37,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeWriter;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
|
@ -87,7 +86,7 @@ public class AnnotationTypeWriterImpl extends SubWriterHolderWriter
|
|||
navBar.setNavLinkModule(linkContent);
|
||||
navBar.setMemberSummaryBuilder(configuration.getBuilderFactory().getMemberSummaryBuilder(this));
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
|
||||
HtmlTree div = new HtmlTree(HtmlTag.DIV);
|
||||
div.setStyle(HtmlStyle.header);
|
||||
|
@ -129,7 +128,7 @@ public class AnnotationTypeWriterImpl extends SubWriterHolderWriter
|
|||
public void addFooter() {
|
||||
Content htmlTree = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
htmlTree.add(navBar.getContent(false));
|
||||
htmlTree.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(htmlTree);
|
||||
bodyContents.addMainContent(MarkerComments.END_OF_CLASS_DATA)
|
||||
.setFooter(htmlTree);
|
||||
|
@ -140,7 +139,7 @@ public class AnnotationTypeWriterImpl extends SubWriterHolderWriter
|
|||
String description = getDescription("declaration", annotationType);
|
||||
PackageElement pkg = utils.containingPackage(this.annotationType);
|
||||
List<DocPath> localStylesheets = getLocalStylesheets(pkg);
|
||||
contentTree.add(bodyContents.toContent());
|
||||
contentTree.add(bodyContents);
|
||||
printHtmlDocument(configuration.metakeywords.getMetaKeywords(annotationType),
|
||||
description, localStylesheets, contentTree);
|
||||
}
|
||||
|
|
|
@ -45,8 +45,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.ClassTree;
|
||||
|
@ -229,10 +228,10 @@ public class ClassUseWriter extends SubWriterHolderWriter {
|
|||
bodyContents.addMainContent(mainContent);
|
||||
HtmlTree footer = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
footer.add(navBar.getContent(false));
|
||||
footer.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(footer);
|
||||
bodyContents.setFooter(footer);
|
||||
body.add(bodyContents.toContent());
|
||||
body.add(bodyContents);
|
||||
String description = getDescription("use", typeElement);
|
||||
printHtmlDocument(null, description, body);
|
||||
}
|
||||
|
@ -269,7 +268,7 @@ public class ClassUseWriter extends SubWriterHolderWriter {
|
|||
for (PackageElement pkg : pkgSet) {
|
||||
addPackageUse(pkg, table);
|
||||
}
|
||||
contentTree.add(table.toContent());
|
||||
contentTree.add(table);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -297,7 +296,7 @@ public class ClassUseWriter extends SubWriterHolderWriter {
|
|||
addSummaryComment(pkg, summary);
|
||||
table.addRow(getPackageLink(pkg), summary);
|
||||
}
|
||||
contentTree.add(table.toContent());
|
||||
contentTree.add(table);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -435,7 +434,7 @@ public class ClassUseWriter extends SubWriterHolderWriter {
|
|||
.label(resources.getText("doclet.Class")));
|
||||
navBar.setNavLinkClass(classLinkContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
ContentBuilder headingContent = new ContentBuilder();
|
||||
headingContent.add(contents.getContent("doclet.ClassUse_Title", cltype));
|
||||
headingContent.add(new HtmlTree(HtmlTag.BR));
|
||||
|
|
|
@ -47,8 +47,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.HtmlAttr;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.toolkit.ClassWriter;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
|
@ -115,7 +114,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter implements ClassWrite
|
|||
navBar.setNavLinkModule(linkContent);
|
||||
navBar.setMemberSummaryBuilder(configuration.getBuilderFactory().getMemberSummaryBuilder(this));
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
HtmlTree div = new HtmlTree(HtmlTag.DIV);
|
||||
div.setStyle(HtmlStyle.header);
|
||||
if (configuration.showModules) {
|
||||
|
@ -161,7 +160,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter implements ClassWrite
|
|||
bodyContents.addMainContent(MarkerComments.END_OF_CLASS_DATA);
|
||||
Content htmlTree = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
htmlTree.add(navBar.getContent(false));
|
||||
htmlTree.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(htmlTree);
|
||||
bodyContents.setFooter(htmlTree);
|
||||
}
|
||||
|
@ -171,7 +170,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter implements ClassWrite
|
|||
String description = getDescription("declaration", typeElement);
|
||||
PackageElement pkg = utils.containingPackage(typeElement);
|
||||
List<DocPath> localStylesheets = getLocalStylesheets(pkg);
|
||||
contentTree.add(bodyContents.toContent());
|
||||
contentTree.add(bodyContents);
|
||||
printHtmlDocument(configuration.metakeywords.getMetaKeywords(typeElement),
|
||||
description, localStylesheets, contentTree);
|
||||
}
|
||||
|
|
|
@ -39,8 +39,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
|
||||
|
@ -92,7 +91,7 @@ public class ConstantsSummaryWriterImpl extends HtmlDocletWriter implements Cons
|
|||
this.configuration = configuration;
|
||||
constantsTableHeader = new TableHeader(
|
||||
contents.modifierAndTypeLabel, contents.constantFieldLabel, contents.valueLabel);
|
||||
this.navBar = new Navigation(null, configuration, PageMode.CONSTANTVALUES, path);
|
||||
this.navBar = new Navigation(null, configuration, PageMode.CONSTANT_VALUES, path);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -102,7 +101,7 @@ public class ConstantsSummaryWriterImpl extends HtmlDocletWriter implements Cons
|
|||
Content headerContent = new ContentBuilder();
|
||||
addTop(headerContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
bodyContents.setHeader(headerContent);
|
||||
return bodyTree;
|
||||
}
|
||||
|
@ -215,7 +214,7 @@ public class ConstantsSummaryWriterImpl extends HtmlDocletWriter implements Cons
|
|||
for (VariableElement field : fields) {
|
||||
table.addRow(getTypeColumn(field), getNameColumn(field), getValue(field));
|
||||
}
|
||||
Content li = HtmlTree.LI(HtmlStyle.blockList, table.toContent());
|
||||
Content li = HtmlTree.LI(HtmlStyle.blockList, table);
|
||||
classConstantTree.add(li);
|
||||
}
|
||||
|
||||
|
@ -277,14 +276,14 @@ public class ConstantsSummaryWriterImpl extends HtmlDocletWriter implements Cons
|
|||
public void addFooter() {
|
||||
Content htmlTree = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
htmlTree.add(navBar.getContent(false));
|
||||
htmlTree.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(htmlTree);
|
||||
bodyContents.setFooter(htmlTree);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void printDocument(Content contentTree) throws DocFileIOException {
|
||||
contentTree.add(bodyContents.toContent());
|
||||
contentTree.add(bodyContents);
|
||||
printHtmlDocument(null, "summary of constants", contentTree);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,8 +41,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.DeprecatedAPIListBuilder;
|
||||
|
@ -298,11 +297,11 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
|
|||
bodyContents.addMainContent(content);
|
||||
HtmlTree htmlTree = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
htmlTree.add(navBar.getContent(false));
|
||||
htmlTree.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(htmlTree);
|
||||
bodyContents.setFooter(htmlTree);
|
||||
String description = "deprecated elements";
|
||||
body.add(bodyContents.toContent());
|
||||
body.add(bodyContents);
|
||||
printHtmlDocument(null, description, body);
|
||||
}
|
||||
|
||||
|
@ -355,7 +354,7 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
|
|||
Content headerContent = new ContentBuilder();
|
||||
addTop(headerContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
bodyContents.setHeader(headerContent);
|
||||
return bodyTree;
|
||||
}
|
||||
|
@ -402,7 +401,7 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
|
|||
}
|
||||
table.addRow(link, desc);
|
||||
}
|
||||
Content li = HtmlTree.LI(HtmlStyle.blockList, table.toContent());
|
||||
Content li = HtmlTree.LI(HtmlStyle.blockList, table);
|
||||
Content ul = HtmlTree.UL(HtmlStyle.blockList, li);
|
||||
contentTree.add(ul);
|
||||
}
|
||||
|
|
|
@ -33,9 +33,7 @@ import com.sun.source.util.DocTreeFactory;
|
|||
import com.sun.tools.doclint.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.BodyContents;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.DocFileElement;
|
||||
import jdk.javadoc.internal.doclets.toolkit.DocFilesHandler;
|
||||
|
@ -56,7 +54,7 @@ import java.util.ArrayList;
|
|||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
|
||||
public class DocFilesHandlerImpl implements DocFilesHandler {
|
||||
|
||||
|
@ -187,7 +185,7 @@ public class DocFilesHandlerImpl implements DocFilesHandler {
|
|||
String title = getWindowTitle(docletWriter, dfElement).trim();
|
||||
HtmlTree htmlContent = docletWriter.getBody(title);
|
||||
PackageElement pkg = dfElement.getPackageElement();
|
||||
this.navBar = new Navigation(element, configuration, PageMode.DOCFILE, docletWriter.path);
|
||||
this.navBar = new Navigation(element, configuration, PageMode.DOC_FILE, docletWriter.path);
|
||||
Content headerContent = new ContentBuilder();
|
||||
docletWriter.addTop(headerContent);
|
||||
Content mdleLinkContent = docletWriter.getModuleLink(utils.elementUtils.getModuleOf(pkg),
|
||||
|
@ -196,7 +194,7 @@ public class DocFilesHandlerImpl implements DocFilesHandler {
|
|||
Content pkgLinkContent = docletWriter.getPackageLink(pkg, docletWriter.contents.packageLabel);
|
||||
navBar.setNavLinkPackage(pkgLinkContent);
|
||||
navBar.setUserHeader(docletWriter.getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
|
||||
List<? extends DocTree> fullBody = utils.getFullBody(dfElement);
|
||||
Content pageContent = docletWriter.commentTagsToContent(null, dfElement, fullBody, false);
|
||||
|
@ -204,13 +202,12 @@ public class DocFilesHandlerImpl implements DocFilesHandler {
|
|||
|
||||
navBar.setUserFooter(docletWriter.getUserHeaderFooter(false));
|
||||
Content footer = HtmlTree.FOOTER();
|
||||
footer.add(navBar.getContent(false));
|
||||
footer.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
docletWriter.addBottom(footer);
|
||||
htmlContent.add(new BodyContents()
|
||||
.setHeader(headerContent)
|
||||
.addMainContent(pageContent)
|
||||
.setFooter(footer)
|
||||
.toContent());
|
||||
.setFooter(footer));
|
||||
docletWriter.printHtmlDocument(Collections.emptyList(), null, localTagsContent, Collections.emptyList(), htmlContent);
|
||||
}
|
||||
|
||||
|
|
|
@ -30,8 +30,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
||||
|
@ -95,18 +94,17 @@ public class HelpWriter extends HtmlDocletWriter {
|
|||
Content headerContent = new ContentBuilder();
|
||||
addTop(headerContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
ContentBuilder helpFileContent = new ContentBuilder();
|
||||
addHelpFileContents(helpFileContent);
|
||||
HtmlTree footer = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
footer.add(navBar.getContent(false));
|
||||
footer.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(footer);
|
||||
body.add(new BodyContents()
|
||||
.setHeader(headerContent)
|
||||
.addMainContent(helpFileContent)
|
||||
.setFooter(footer)
|
||||
.toContent());
|
||||
.setFooter(footer));
|
||||
printHtmlDocument(null, "help", body);
|
||||
}
|
||||
|
||||
|
|
|
@ -464,7 +464,7 @@ public class HtmlDocletWriter {
|
|||
.setIndex(options.createIndex(), mainBodyScript)
|
||||
.addContent(extraHeadContent);
|
||||
|
||||
Content htmlTree = HtmlTree.HTML(configuration.getLocale().getLanguage(), head.toContent(), body);
|
||||
Content htmlTree = HtmlTree.HTML(configuration.getLocale().getLanguage(), head, body);
|
||||
HtmlDocument htmlDocument = new HtmlDocument(htmlComment, htmlTree);
|
||||
htmlDocument.write(DocFile.createFileForOutput(configuration, path));
|
||||
}
|
||||
|
|
|
@ -109,7 +109,7 @@ public class IndexRedirectWriter extends HtmlDocletWriter {
|
|||
HtmlTree main = HtmlTree.MAIN(bodyContent);
|
||||
body.add(main);
|
||||
|
||||
Content htmlTree = HtmlTree.HTML(configuration.getLocale().getLanguage(), head.toContent(), body);
|
||||
Content htmlTree = HtmlTree.HTML(configuration.getLocale().getLanguage(), head, body);
|
||||
HtmlDocument htmlDocument = new HtmlDocument(htmlComment, htmlTree);
|
||||
htmlDocument.write(DocFile.createFileForOutput(configuration, path));
|
||||
}
|
||||
|
|
|
@ -117,7 +117,7 @@ public class ModuleIndexWriter extends AbstractOverviewIndexWriter {
|
|||
}
|
||||
}
|
||||
|
||||
main.add(table.toContent());
|
||||
main.add(table);
|
||||
|
||||
if (table.needsScript()) {
|
||||
mainBodyScript.append(table.getScript());
|
||||
|
|
|
@ -48,8 +48,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.RawHtml;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
|
@ -194,7 +193,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
|
|||
|| display(indirectOpenPackages));
|
||||
navBar.setDisplaySummaryServicesLink(displayServices(uses, usesTrees) || displayServices(provides.keySet(), providesTrees));
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
HtmlTree div = new HtmlTree(HtmlTag.DIV);
|
||||
div.setStyle(HtmlStyle.header);
|
||||
Content annotationContent = new HtmlTree(HtmlTag.P);
|
||||
|
@ -501,7 +500,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
|
|||
Table table = getTable3(caption, tableSummary, HtmlStyle.requiresSummary,
|
||||
requiresTableHeader);
|
||||
addModulesList(requires, table);
|
||||
section.add(table.toContent());
|
||||
section.add(table);
|
||||
}
|
||||
// Display indirect modules table in both "api" and "all" mode.
|
||||
if (display(indirectModules)) {
|
||||
|
@ -513,7 +512,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
|
|||
Table amrTable = getTable3(amrCaption, amrTableSummary, HtmlStyle.requiresSummary,
|
||||
requiresTableHeader);
|
||||
addModulesList(indirectModules, amrTable);
|
||||
section.add(amrTable.toContent());
|
||||
section.add(amrTable);
|
||||
}
|
||||
summaryContentTree.add(HtmlTree.LI(HtmlStyle.blockList, section));
|
||||
}
|
||||
|
@ -552,14 +551,14 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
|
|||
Table aepTable = getTable2(new StringContent(aepText),
|
||||
HtmlStyle.packagesSummary, indirectPackagesHeader);
|
||||
addIndirectPackages(aepTable, indirectPackages);
|
||||
section.add(aepTable.toContent());
|
||||
section.add(aepTable);
|
||||
}
|
||||
if (display(indirectOpenPackages)) {
|
||||
String aopText = resources.getText("doclet.Indirect_Opens_Summary");
|
||||
Table aopTable = getTable2(new StringContent(aopText), HtmlStyle.packagesSummary,
|
||||
indirectPackagesHeader);
|
||||
addIndirectPackages(aopTable, indirectOpenPackages);
|
||||
section.add(aopTable.toContent());
|
||||
section.add(aopTable);
|
||||
}
|
||||
summaryContentTree.add(HtmlTree.LI(HtmlStyle.blockList, section));
|
||||
}
|
||||
|
@ -646,7 +645,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
|
|||
table.addRow(pkg, row);
|
||||
}
|
||||
|
||||
li.add(table.toContent());
|
||||
li.add(table);
|
||||
if (table.needsScript()) {
|
||||
mainBodyScript.append(table.getScript());
|
||||
}
|
||||
|
@ -724,7 +723,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
|
|||
usesProvidesTableHeader);
|
||||
addProvidesList(table);
|
||||
if (!table.isEmpty()) {
|
||||
section.add(table.toContent());
|
||||
section.add(table);
|
||||
}
|
||||
}
|
||||
if (haveUses){
|
||||
|
@ -733,7 +732,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
|
|||
usesProvidesTableHeader);
|
||||
addUsesList(table);
|
||||
if (!table.isEmpty()) {
|
||||
section.add(table.toContent());
|
||||
section.add(table);
|
||||
}
|
||||
}
|
||||
summaryContentTree.add(HtmlTree.LI(HtmlStyle.blockList, section));
|
||||
|
@ -862,14 +861,14 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
|
|||
public void addModuleFooter() {
|
||||
Content htmlTree = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
htmlTree.add(navBar.getContent(false));
|
||||
htmlTree.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(htmlTree);
|
||||
bodyContents.setFooter(htmlTree);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void printDocument(Content contentTree) throws DocFileIOException {
|
||||
contentTree.add(bodyContents.toContent());
|
||||
contentTree.add(bodyContents);
|
||||
printHtmlDocument(configuration.metakeywords.getMetaKeywordsForModule(mdle),
|
||||
getDescription("declaration", mdle), getLocalStylesheets(mdle), contentTree);
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
package jdk.javadoc.internal.doclets.formats.html.markup;
|
||||
package jdk.javadoc.internal.doclets.formats.html;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -35,12 +35,14 @@ import javax.lang.model.element.ModuleElement;
|
|||
import javax.lang.model.element.PackageElement;
|
||||
import javax.lang.model.element.TypeElement;
|
||||
|
||||
import jdk.javadoc.internal.doclets.formats.html.AbstractMemberWriter;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Contents;
|
||||
import jdk.javadoc.internal.doclets.formats.html.HtmlConfiguration;
|
||||
import jdk.javadoc.internal.doclets.formats.html.HtmlOptions;
|
||||
import jdk.javadoc.internal.doclets.formats.html.MarkerComments;
|
||||
import jdk.javadoc.internal.doclets.formats.html.SectionName;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Comment;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlAttr;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Links;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.builders.MemberSummaryBuilder;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFile;
|
||||
|
@ -85,19 +87,19 @@ public class Navigation {
|
|||
private static final Content EMPTY_COMMENT = new Comment(" ");
|
||||
|
||||
public enum PageMode {
|
||||
ALLCLASSES,
|
||||
ALLPACKAGES,
|
||||
ALL_CLASSES,
|
||||
ALL_PACKAGES,
|
||||
CLASS,
|
||||
CONSTANTVALUES,
|
||||
CONSTANT_VALUES,
|
||||
DEPRECATED,
|
||||
DOCFILE,
|
||||
DOC_FILE,
|
||||
HELP,
|
||||
INDEX,
|
||||
MODULE,
|
||||
OVERVIEW,
|
||||
PACKAGE,
|
||||
SERIALIZEDFORM,
|
||||
SYSTEMPROPERTIES,
|
||||
SERIALIZED_FORM,
|
||||
SYSTEM_PROPERTIES,
|
||||
TREE,
|
||||
USE;
|
||||
}
|
||||
|
@ -322,11 +324,11 @@ public class Navigation {
|
|||
addHelpLink(tree);
|
||||
}
|
||||
break;
|
||||
case ALLCLASSES:
|
||||
case ALLPACKAGES:
|
||||
case CONSTANTVALUES:
|
||||
case SERIALIZEDFORM:
|
||||
case SYSTEMPROPERTIES:
|
||||
case ALL_CLASSES:
|
||||
case ALL_PACKAGES:
|
||||
case CONSTANT_VALUES:
|
||||
case SERIALIZED_FORM:
|
||||
case SYSTEM_PROPERTIES:
|
||||
addOverviewLink(tree);
|
||||
addModuleLink(tree);
|
||||
addPackageLink(tree);
|
||||
|
@ -337,7 +339,7 @@ public class Navigation {
|
|||
addIndexLink(tree);
|
||||
addHelpLink(tree);
|
||||
break;
|
||||
case DOCFILE:
|
||||
case DOC_FILE:
|
||||
addOverviewLink(tree);
|
||||
addModuleOfElementLink(tree);
|
||||
addContentToTree(tree, navLinkPackage);
|
||||
|
@ -906,67 +908,88 @@ public class Navigation {
|
|||
/**
|
||||
* Get the navigation content.
|
||||
*
|
||||
* @param top true if the top navigation bar is to be printed
|
||||
* @param posn the position for the navigation bar
|
||||
* @return the navigation contents
|
||||
*/
|
||||
public Content getContent(boolean top) {
|
||||
public Content getContent(Position posn) {
|
||||
if (options.noNavbar()) {
|
||||
return new ContentBuilder();
|
||||
}
|
||||
Content tree = HtmlTree.NAV();
|
||||
|
||||
HtmlTree navDiv = new HtmlTree(HtmlTag.DIV);
|
||||
Content skipNavLinks = contents.getContent("doclet.Skip_navigation_links");
|
||||
if (top) {
|
||||
tree.add(Position.TOP.startOfNav());
|
||||
navDiv.setStyle(HtmlStyle.topNav)
|
||||
.setId(SectionName.NAVBAR_TOP.getName())
|
||||
.add(HtmlTree.DIV(HtmlStyle.skipNav,
|
||||
links.createLink(SectionName.SKIP_NAVBAR_TOP, skipNavLinks,
|
||||
skipNavLinks.toString(), "")));
|
||||
} else {
|
||||
tree.add(Position.BOTTOM.startOfNav());
|
||||
navDiv.setStyle(HtmlStyle.bottomNav)
|
||||
.setId(SectionName.NAVBAR_BOTTOM.getName())
|
||||
.add(HtmlTree.DIV(HtmlStyle.skipNav,
|
||||
links.createLink(SectionName.SKIP_NAVBAR_BOTTOM, skipNavLinks,
|
||||
skipNavLinks.toString(), "")));
|
||||
SectionName navListSection;
|
||||
Content aboutContent;
|
||||
boolean addSearch;
|
||||
switch (posn) {
|
||||
case TOP:
|
||||
tree.add(Position.TOP.startOfNav());
|
||||
navDiv.setStyle(HtmlStyle.topNav)
|
||||
.setId(SectionName.NAVBAR_TOP.getName())
|
||||
.add(HtmlTree.DIV(HtmlStyle.skipNav,
|
||||
links.createLink(SectionName.SKIP_NAVBAR_TOP, skipNavLinks,
|
||||
skipNavLinks.toString(), "")));
|
||||
navListSection = SectionName.NAVBAR_TOP_FIRSTROW;
|
||||
aboutContent = userHeader;
|
||||
addSearch = options.createIndex();
|
||||
break;
|
||||
|
||||
case BOTTOM:
|
||||
tree.add(Position.BOTTOM.startOfNav());
|
||||
navDiv.setStyle(HtmlStyle.bottomNav)
|
||||
.setId(SectionName.NAVBAR_BOTTOM.getName())
|
||||
.add(HtmlTree.DIV(HtmlStyle.skipNav,
|
||||
links.createLink(SectionName.SKIP_NAVBAR_BOTTOM, skipNavLinks,
|
||||
skipNavLinks.toString(), "")));
|
||||
navListSection = SectionName.NAVBAR_BOTTOM_FIRSTROW;
|
||||
aboutContent = userFooter;
|
||||
addSearch = false;
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Error();
|
||||
}
|
||||
HtmlTree navList = new HtmlTree(HtmlTag.UL);
|
||||
navList.setId(top ? SectionName.NAVBAR_TOP_FIRSTROW.getName()
|
||||
: SectionName.NAVBAR_BOTTOM_FIRSTROW.getName());
|
||||
navList.setStyle(HtmlStyle.navList);
|
||||
navList.put(HtmlAttr.TITLE, rowListTitle);
|
||||
|
||||
HtmlTree navList = new HtmlTree(HtmlTag.UL)
|
||||
.setId(navListSection.getName())
|
||||
.setStyle(HtmlStyle.navList)
|
||||
.put(HtmlAttr.TITLE, rowListTitle);
|
||||
addMainNavLinks(navList);
|
||||
navDiv.add(navList);
|
||||
Content aboutDiv = HtmlTree.DIV(HtmlStyle.aboutLanguage, top ? userHeader : userFooter);
|
||||
Content aboutDiv = HtmlTree.DIV(HtmlStyle.aboutLanguage, aboutContent);
|
||||
navDiv.add(aboutDiv);
|
||||
tree.add(navDiv);
|
||||
HtmlTree subDiv = new HtmlTree(HtmlTag.DIV);
|
||||
subDiv.setStyle(HtmlStyle.subNav);
|
||||
|
||||
HtmlTree subDiv = new HtmlTree(HtmlTag.DIV).setStyle(HtmlStyle.subNav);
|
||||
|
||||
HtmlTree div = new HtmlTree(HtmlTag.DIV);
|
||||
// Add the summary links if present.
|
||||
HtmlTree ulNavSummary = new HtmlTree(HtmlTag.UL);
|
||||
ulNavSummary.setStyle(HtmlStyle.subNavList);
|
||||
HtmlTree ulNavSummary = new HtmlTree(HtmlTag.UL).setStyle(HtmlStyle.subNavList);
|
||||
addSummaryLinks(ulNavSummary);
|
||||
div.add(ulNavSummary);
|
||||
// Add the detail links if present.
|
||||
HtmlTree ulNavDetail = new HtmlTree(HtmlTag.UL);
|
||||
ulNavDetail.setStyle(HtmlStyle.subNavList);
|
||||
HtmlTree ulNavDetail = new HtmlTree(HtmlTag.UL).setStyle(HtmlStyle.subNavList);
|
||||
addDetailLinks(ulNavDetail);
|
||||
div.add(ulNavDetail);
|
||||
subDiv.add(div);
|
||||
if (top && options.createIndex()) {
|
||||
|
||||
if (addSearch) {
|
||||
addSearch(subDiv);
|
||||
}
|
||||
tree.add(subDiv);
|
||||
if (top) {
|
||||
tree.add(Position.TOP.endOfNav());
|
||||
tree.add(HtmlTree.SPAN(HtmlStyle.skipNav, EMPTY_COMMENT)
|
||||
.setId(SectionName.SKIP_NAVBAR_TOP.getName()));
|
||||
} else {
|
||||
tree.add(Position.BOTTOM.endOfNav());
|
||||
tree.add(HtmlTree.SPAN(HtmlStyle.skipNav, EMPTY_COMMENT)
|
||||
.setId(SectionName.SKIP_NAVBAR_BOTTOM.getName()));
|
||||
|
||||
switch (posn) {
|
||||
case TOP:
|
||||
tree.add(Position.TOP.endOfNav());
|
||||
tree.add(HtmlTree.SPAN(HtmlStyle.skipNav, EMPTY_COMMENT)
|
||||
.setId(SectionName.SKIP_NAVBAR_TOP.getName()));
|
||||
break;
|
||||
|
||||
case BOTTOM:
|
||||
tree.add(Position.BOTTOM.endOfNav());
|
||||
tree.add(HtmlTree.SPAN(HtmlStyle.skipNav, EMPTY_COMMENT)
|
||||
.setId(SectionName.SKIP_NAVBAR_BOTTOM.getName()));
|
||||
}
|
||||
return tree;
|
||||
}
|
|
@ -118,7 +118,7 @@ public class PackageIndexWriter extends AbstractOverviewIndexWriter {
|
|||
}
|
||||
}
|
||||
|
||||
main.add(table.toContent());
|
||||
main.add(table);
|
||||
|
||||
if (table.needsScript()) {
|
||||
getMainBodyScript().append(table.getScript());
|
||||
|
|
|
@ -32,8 +32,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.ClassTree;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
|
||||
|
@ -115,10 +114,10 @@ public class PackageTreeWriter extends AbstractTreeWriter {
|
|||
bodyContents.addMainContent(mainContent);
|
||||
HtmlTree footer = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
footer.add(navBar.getContent(false));
|
||||
footer.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(footer);
|
||||
bodyContents.setFooter(footer);
|
||||
body.add(bodyContents.toContent());
|
||||
body.add(bodyContents);
|
||||
printHtmlDocument(null, getDescription("tree", packageElement), body);
|
||||
}
|
||||
|
||||
|
@ -137,7 +136,7 @@ public class PackageTreeWriter extends AbstractTreeWriter {
|
|||
contents.moduleLabel);
|
||||
navBar.setNavLinkModule(linkContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
bodyContents.setHeader(headerContent);
|
||||
return bodyTree;
|
||||
}
|
||||
|
|
|
@ -38,8 +38,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
|
||||
|
@ -134,10 +133,10 @@ public class PackageUseWriter extends SubWriterHolderWriter {
|
|||
bodyContents.addMainContent(mainContent);
|
||||
HtmlTree footer = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
footer.add(navBar.getContent(false));
|
||||
footer.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(footer);
|
||||
bodyContents.setFooter(footer);
|
||||
body.add(bodyContents.toContent());
|
||||
body.add(bodyContents);
|
||||
printHtmlDocument(null,
|
||||
getDescription("use", packageElement),
|
||||
body);
|
||||
|
@ -182,7 +181,7 @@ public class PackageUseWriter extends SubWriterHolderWriter {
|
|||
}
|
||||
table.addRow(packageLink, summary);
|
||||
}
|
||||
contentTree.add(table.toContent());
|
||||
contentTree.add(table);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -220,7 +219,7 @@ public class PackageUseWriter extends SubWriterHolderWriter {
|
|||
|
||||
table.addRow(typeContent, summary);
|
||||
}
|
||||
section.add(table.toContent());
|
||||
section.add(table);
|
||||
ul.add(HtmlTree.LI(HtmlStyle.blockList, section));
|
||||
}
|
||||
Content li = HtmlTree.SECTION(HtmlStyle.packageUses, ul);
|
||||
|
@ -243,7 +242,7 @@ public class PackageUseWriter extends SubWriterHolderWriter {
|
|||
contents.moduleLabel);
|
||||
navBar.setNavLinkModule(linkContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
ContentBuilder headingContent = new ContentBuilder();
|
||||
headingContent.add(contents.getContent("doclet.ClassUse_Title", packageText));
|
||||
headingContent.add(new HtmlTree(HtmlTag.BR));
|
||||
|
|
|
@ -39,8 +39,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
|
||||
|
@ -106,7 +105,7 @@ public class PackageWriterImpl extends HtmlDocletWriter
|
|||
contents.moduleLabel);
|
||||
navBar.setNavLinkModule(linkContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
HtmlTree div = new HtmlTree(HtmlTag.DIV);
|
||||
div.setStyle(HtmlStyle.header);
|
||||
if (configuration.showModules) {
|
||||
|
@ -235,7 +234,7 @@ public class PackageWriterImpl extends HtmlDocletWriter
|
|||
}
|
||||
table.addRow(classLink, description);
|
||||
}
|
||||
Content li = HtmlTree.LI(HtmlStyle.blockList, table.toContent());
|
||||
Content li = HtmlTree.LI(HtmlStyle.blockList, table);
|
||||
summaryContentTree.add(li);
|
||||
}
|
||||
}
|
||||
|
@ -266,7 +265,7 @@ public class PackageWriterImpl extends HtmlDocletWriter
|
|||
public void addPackageFooter() {
|
||||
Content htmlTree = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
htmlTree.add(navBar.getContent(false));
|
||||
htmlTree.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(htmlTree);
|
||||
bodyContents.setFooter(htmlTree);
|
||||
}
|
||||
|
@ -275,7 +274,7 @@ public class PackageWriterImpl extends HtmlDocletWriter
|
|||
public void printDocument(Content contentTree) throws DocFileIOException {
|
||||
String description = getDescription("declaration", packageElement);
|
||||
List<DocPath> localStylesheets = getLocalStylesheets(packageElement);
|
||||
contentTree.add(bodyContents.toContent());
|
||||
contentTree.add(bodyContents);
|
||||
printHtmlDocument(configuration.metakeywords.getMetaKeywords(packageElement),
|
||||
description, localStylesheets, contentTree);
|
||||
}
|
||||
|
|
|
@ -34,8 +34,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.SerializedFormWriter;
|
||||
|
@ -63,7 +62,7 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter
|
|||
public SerializedFormWriterImpl(HtmlConfiguration configuration) {
|
||||
super(configuration, DocPaths.SERIALIZED_FORM);
|
||||
visibleClasses = configuration.getIncludedTypeElements();
|
||||
this.navBar = new Navigation(null, configuration, PageMode.SERIALIZEDFORM, path);
|
||||
this.navBar = new Navigation(null, configuration, PageMode.SERIALIZED_FORM, path);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -78,7 +77,7 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter
|
|||
Content headerContent = new ContentBuilder();
|
||||
addTop(headerContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
Content h1Content = new StringContent(header);
|
||||
Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, true,
|
||||
HtmlStyle.title, h1Content);
|
||||
|
@ -242,14 +241,14 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter
|
|||
public void addFooter() {
|
||||
Content htmlTree = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
htmlTree.add(navBar.getContent(false));
|
||||
htmlTree.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(htmlTree);
|
||||
bodyContents.setFooter(htmlTree);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void printDocument(Content serializedTree) throws DocFileIOException {
|
||||
serializedTree.add(bodyContents.toContent());
|
||||
serializedTree.add(bodyContents);
|
||||
printHtmlDocument(null, "serialized forms", serializedTree);
|
||||
}
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ public class SingleIndexWriter extends AbstractIndexWriter {
|
|||
Content headerContent = new ContentBuilder();
|
||||
addTop(headerContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
Content mainContent = new ContentBuilder();
|
||||
elements = new TreeSet<>(indexBuilder.asMap().keySet());
|
||||
elements.addAll(tagSearchIndexMap.keySet());
|
||||
|
@ -116,7 +116,7 @@ public class SingleIndexWriter extends AbstractIndexWriter {
|
|||
addLinksForIndexes(mainContent);
|
||||
HtmlTree footer = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
footer.add(navBar.getContent(false));
|
||||
footer.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(footer);
|
||||
body.add(new BodyContents()
|
||||
.setHeader(headerContent)
|
||||
|
@ -124,8 +124,7 @@ public class SingleIndexWriter extends AbstractIndexWriter {
|
|||
HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING,
|
||||
contents.getContent("doclet.Index"))))
|
||||
.addMainContent(mainContent)
|
||||
.setFooter(footer)
|
||||
.toContent());
|
||||
.setFooter(footer));
|
||||
createSearchIndexFiles();
|
||||
printHtmlDocument(null, "index", body);
|
||||
}
|
||||
|
|
|
@ -245,8 +245,7 @@ public class SourceToHTMLConverter {
|
|||
.setGenerator(HtmlDocletWriter.getGenerator(getClass()))
|
||||
.addDefaultScript(false)
|
||||
.setStylesheets(configuration.getMainStylesheet(), configuration.getAdditionalStylesheets());
|
||||
Content htmlTree = HtmlTree.HTML(configuration.getLocale().getLanguage(),
|
||||
head.toContent(), body);
|
||||
Content htmlTree = HtmlTree.HTML(configuration.getLocale().getLanguage(), head, body);
|
||||
HtmlDocument htmlDocument = new HtmlDocument(htmlTree);
|
||||
messages.notice("doclet.Generating_0", path.getPath());
|
||||
htmlDocument.write(DocFile.createFileForOutput(configuration, path));
|
||||
|
|
|
@ -125,7 +125,7 @@ public class SplitIndexWriter extends AbstractIndexWriter {
|
|||
Content headerContent = new ContentBuilder();
|
||||
addTop(headerContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
Content main = new ContentBuilder();
|
||||
main.add(HtmlTree.DIV(HtmlStyle.header,
|
||||
HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING,
|
||||
|
@ -144,13 +144,12 @@ public class SplitIndexWriter extends AbstractIndexWriter {
|
|||
main.add(mainContent);
|
||||
HtmlTree footer = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
footer.add(navBar.getContent(false));
|
||||
footer.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(footer);
|
||||
body.add(new BodyContents()
|
||||
.setHeader(headerContent)
|
||||
.addMainContent(main)
|
||||
.setFooter(footer)
|
||||
.toContent());
|
||||
.setFooter(footer));
|
||||
String description = "index: " + unicode;
|
||||
printHtmlDocument(null, description, body);
|
||||
}
|
||||
|
|
|
@ -26,10 +26,8 @@ package jdk.javadoc.internal.doclets.formats.html;
|
|||
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
|
||||
|
@ -69,7 +67,7 @@ public class SystemPropertiesWriter extends HtmlDocletWriter {
|
|||
*/
|
||||
public SystemPropertiesWriter(HtmlConfiguration configuration, DocPath filename) {
|
||||
super(configuration, filename);
|
||||
this.navBar = new Navigation(null, configuration, PageMode.SYSTEMPROPERTIES, path);
|
||||
this.navBar = new Navigation(null, configuration, PageMode.SYSTEM_PROPERTIES, path);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -96,7 +94,7 @@ public class SystemPropertiesWriter extends HtmlDocletWriter {
|
|||
HtmlTree header = HtmlTree.HEADER();
|
||||
addTop(header);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
header.add(navBar.getContent(true));
|
||||
header.add(navBar.getContent(Navigation.Position.TOP));
|
||||
bodyTree.add(header);
|
||||
Content mainContent = new ContentBuilder();
|
||||
addSystemProperties(mainContent);
|
||||
|
@ -109,7 +107,7 @@ public class SystemPropertiesWriter extends HtmlDocletWriter {
|
|||
bodyTree.add(mainTree);
|
||||
Content footer = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
footer.add(navBar.getContent(false));
|
||||
footer.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(footer);
|
||||
bodyTree.add(footer);
|
||||
printHtmlDocument(null, "system properties", bodyTree);
|
||||
|
@ -142,7 +140,7 @@ public class SystemPropertiesWriter extends HtmlDocletWriter {
|
|||
}
|
||||
table.addRow(propertyName, separatedReferenceLinks);
|
||||
}
|
||||
content.add(table.toContent());
|
||||
content.add(table);
|
||||
}
|
||||
|
||||
private Map<String, List<SearchIndexItem>> groupSystemProperties() {
|
||||
|
|
|
@ -34,8 +34,7 @@ import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
|
|||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.Navigation.PageMode;
|
||||
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
import jdk.javadoc.internal.doclets.toolkit.util.ClassTree;
|
||||
|
@ -121,12 +120,11 @@ public class TreeWriter extends AbstractTreeWriter {
|
|||
addTree(classtree.baseEnums(), "doclet.Enum_Hierarchy", mainContent, true);
|
||||
HtmlTree footerTree = HtmlTree.FOOTER();
|
||||
navBar.setUserFooter(getUserHeaderFooter(false));
|
||||
footerTree.add(navBar.getContent(false));
|
||||
footerTree.add(navBar.getContent(Navigation.Position.BOTTOM));
|
||||
addBottom(footerTree);
|
||||
body.add(bodyContents
|
||||
.addMainContent(mainContent)
|
||||
.setFooter(footerTree)
|
||||
.toContent());
|
||||
.setFooter(footerTree));
|
||||
printHtmlDocument(null, "class tree", body);
|
||||
}
|
||||
|
||||
|
@ -180,7 +178,7 @@ public class TreeWriter extends AbstractTreeWriter {
|
|||
Content headerContent = new ContentBuilder();
|
||||
addTop(headerContent);
|
||||
navBar.setUserHeader(getUserHeaderFooter(true));
|
||||
headerContent.add(navBar.getContent(true));
|
||||
headerContent.add(navBar.getContent(Navigation.Position.TOP));
|
||||
bodyContents.setHeader(headerContent);
|
||||
return bodyTree;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -27,18 +27,24 @@ package jdk.javadoc.internal.doclets.formats.html.markup;
|
|||
|
||||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Writer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A builder for the contents of the BODY element.
|
||||
* Content for the {@code <body>} element.
|
||||
*
|
||||
* The content is a {@code <div>} element that contains a
|
||||
* header that is always visible, and main content that
|
||||
* can be scrolled if necessary.
|
||||
*
|
||||
* <p><b>This is NOT part of any supported API.
|
||||
* If you write code that depends on this, you do so at your own risk.
|
||||
* This code and its internal interfaces are subject to change or
|
||||
* deletion without notice.</b>
|
||||
*/
|
||||
public class BodyContents {
|
||||
public class BodyContents extends Content {
|
||||
|
||||
private List<Content> mainContents = new ArrayList<>();
|
||||
private Content header = HtmlTree.EMPTY;
|
||||
|
@ -59,20 +65,39 @@ public class BodyContents {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @implSpec This implementation always returns {@code false}.
|
||||
*
|
||||
* @return {@code false}
|
||||
*/
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(Writer out, boolean atNewline) throws IOException {
|
||||
return toContent().write(out, atNewline);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the HTML for the contents of the BODY element.
|
||||
*
|
||||
* @return the HTML
|
||||
*/
|
||||
public Content toContent() {
|
||||
HtmlTree mainTree = HtmlTree.MAIN();
|
||||
mainContents.forEach(mainTree::add);
|
||||
HtmlTree flexHeader = HtmlTree.HEADER().setStyle(HtmlStyle.flexHeader);
|
||||
flexHeader.add(header);
|
||||
HtmlTree flexBox = HtmlTree.DIV(HtmlStyle.flexBox, flexHeader);
|
||||
HtmlTree flexContent = HtmlTree.DIV(HtmlStyle.flexContent, mainTree);
|
||||
flexContent.add(footer);
|
||||
flexBox.add(flexContent);
|
||||
return flexBox;
|
||||
private Content toContent() {
|
||||
HtmlTree flexHeader = HtmlTree.HEADER()
|
||||
.setStyle(HtmlStyle.flexHeader)
|
||||
.add(header);
|
||||
|
||||
HtmlTree flexContent = HtmlTree.DIV(HtmlStyle.flexContent)
|
||||
.add(HtmlTree.MAIN().add(mainContents))
|
||||
.add(footer);
|
||||
|
||||
return HtmlTree.DIV(HtmlStyle.flexBox)
|
||||
.add(flexHeader)
|
||||
.add(flexContent);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
|
||||
package jdk.javadoc.internal.doclets.formats.html.markup;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Writer;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
@ -37,7 +39,7 @@ import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
|
|||
import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
||||
|
||||
/**
|
||||
* A builder for HTML HEAD elements.
|
||||
* An HTML {@code <head>} element.
|
||||
*
|
||||
* Many methods return the current object, to facilitate fluent builder-style usage.
|
||||
*
|
||||
|
@ -46,7 +48,7 @@ import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
|
|||
* This code and its internal interfaces are subject to change or
|
||||
* deletion without notice.</b>
|
||||
*/
|
||||
public class Head {
|
||||
public class Head extends Content {
|
||||
private final String docletVersion;
|
||||
private final Date generatedDate;
|
||||
private final DocPath pathToRoot;
|
||||
|
@ -228,12 +230,29 @@ public class Head {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @implSpec This implementation always returns {@code false}.
|
||||
*
|
||||
* @return {@code false}
|
||||
*/
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(Writer out, boolean atNewline) throws IOException {
|
||||
return toContent().write(out, atNewline);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the HTML for the HEAD element.
|
||||
*
|
||||
* @return the HTML
|
||||
*/
|
||||
public Content toContent() {
|
||||
private Content toContent() {
|
||||
HtmlTree tree = new HtmlTree(HtmlTag.HEAD);
|
||||
tree.add(getGeneratedBy(showTimestamp, generatedDate));
|
||||
tree.add(HtmlTree.TITLE(title));
|
||||
|
|
|
@ -188,6 +188,17 @@ public class HtmlTree extends Content {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds each of a list of content items.
|
||||
*
|
||||
* @param list the list
|
||||
* @return this object
|
||||
*/
|
||||
public HtmlTree add(List<? extends Content> list) {
|
||||
list.forEach(this::add);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int charCount() {
|
||||
int n = 0;
|
||||
|
@ -331,6 +342,16 @@ public class HtmlTree extends Content {
|
|||
return new HtmlTree(HtmlTag.DL, nullCheck(body)).setStyle(style);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a DIV tag with the style class attributes.
|
||||
*
|
||||
* @param styleClass stylesheet class for the tag
|
||||
* @return an HtmlTree object for the DIV tag
|
||||
*/
|
||||
public static HtmlTree DIV(HtmlStyle styleClass) {
|
||||
return new HtmlTree(HtmlTag.DIV).setStyle(styleClass);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a DIV tag with the style class attributes. It also encloses
|
||||
* a content.
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
|
||||
package jdk.javadoc.internal.doclets.formats.html.markup;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Writer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
@ -41,8 +43,7 @@ import javax.lang.model.element.Element;
|
|||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
|
||||
/**
|
||||
* A builder for HTML tables, such as the summary tables for various
|
||||
* types of element.
|
||||
* An HTML table, such as the summary tables for various kinds of element.
|
||||
*
|
||||
* <p>The table should be used in three phases:
|
||||
* <ol>
|
||||
|
@ -58,7 +59,7 @@ import jdk.javadoc.internal.doclets.toolkit.Content;
|
|||
* This code and its internal interfaces are subject to change or
|
||||
* deletion without notice.</b>
|
||||
*/
|
||||
public class Table {
|
||||
public class Table extends Content {
|
||||
private final HtmlStyle tableStyle;
|
||||
private Content caption;
|
||||
private Map<String, Predicate<Element>> tabMap;
|
||||
|
@ -399,12 +400,17 @@ public class Table {
|
|||
return bodyRows.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(Writer out, boolean atNewline) throws IOException {
|
||||
return toContent().write(out, atNewline);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the HTML for the table.
|
||||
*
|
||||
* @return the HTML
|
||||
*/
|
||||
public Content toContent() {
|
||||
private Content toContent() {
|
||||
HtmlTree mainDiv = new HtmlTree(HtmlTag.DIV);
|
||||
mainDiv.setStyle(tableStyle);
|
||||
if (id != null) {
|
||||
|
@ -464,7 +470,7 @@ public class Table {
|
|||
private Content getTableBody() {
|
||||
ContentBuilder tableContent = new ContentBuilder();
|
||||
Content thead = new HtmlTree(HtmlTag.THEAD);
|
||||
thead.add(header.toContent());
|
||||
thead.add(header);
|
||||
tableContent.add(thead);
|
||||
Content tbody = new HtmlTree(HtmlTag.TBODY);
|
||||
bodyRows.forEach(tbody::add);
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
|
||||
package jdk.javadoc.internal.doclets.formats.html.markup;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Writer;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -33,7 +35,7 @@ import jdk.javadoc.internal.doclets.formats.html.Contents;
|
|||
import jdk.javadoc.internal.doclets.toolkit.Content;
|
||||
|
||||
/**
|
||||
* A row header for an HTML table.
|
||||
* A row of header cells for an HTML table.
|
||||
*
|
||||
* The header contains a list of {@code <th>} cells, providing the column headers.
|
||||
* The attribute {@code scope="col"} is automatically added to each header cell.
|
||||
|
@ -44,7 +46,7 @@ import jdk.javadoc.internal.doclets.toolkit.Content;
|
|||
* This code and its internal interfaces are subject to change or
|
||||
* deletion without notice.</b>
|
||||
*/
|
||||
public class TableHeader {
|
||||
public class TableHeader extends Content {
|
||||
|
||||
/**
|
||||
* The content to be put in each of the {@code <th>} cells in the header row.
|
||||
|
@ -112,11 +114,28 @@ public class TableHeader {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @implSpec This implementation always returns {@code false}.
|
||||
*
|
||||
* @return {@code false}
|
||||
*/
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(Writer out, boolean atNewline) throws IOException {
|
||||
return toContent().write(out, atNewline);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts this header to a {@link Content} object, for use in an {@link HtmlTree}.
|
||||
* @return a Content object
|
||||
*/
|
||||
public Content toContent() {
|
||||
private Content toContent() {
|
||||
String scope = "col";
|
||||
Content tr = new HtmlTree(HtmlTag.TR);
|
||||
int i = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue