8219998: Eliminate inherently singleton lists

Reviewed-by: jjg
This commit is contained in:
Priya Lakshmi Muthuswamy 2019-04-23 18:28:48 +05:30
parent 4f2478e234
commit d0788ec07f
67 changed files with 913 additions and 448 deletions

View file

@ -498,7 +498,7 @@ public abstract class AbstractMemberWriter implements MemberSummaryWriter {
*/
@Override
public Content getInheritedSummaryHeader(TypeElement tElement) {
Content inheritedTree = writer.getMemberTreeHeader();
Content inheritedTree = writer.getMemberInheritedTree();
writer.addInheritedSummaryHeader(this, tElement, inheritedTree);
return inheritedTree;
}
@ -551,8 +551,8 @@ public abstract class AbstractMemberWriter implements MemberSummaryWriter {
*/
public Content getMemberTree(Content memberTree, boolean isLastContent) {
if (isLastContent)
return HtmlTree.UL(HtmlStyle.blockListLast, memberTree);
return HtmlTree.LI(HtmlStyle.blockListLast, memberTree);
else
return HtmlTree.UL(HtmlStyle.blockList, memberTree);
return HtmlTree.LI(HtmlStyle.blockList, memberTree);
}
}

View file

@ -118,7 +118,7 @@ public abstract class AbstractTreeWriter extends HtmlDocletWriter {
Content headingContent = contents.getContent(heading);
Content sectionHeading = HtmlTree.HEADING(Headings.CONTENT_HEADING, true,
headingContent);
HtmlTree htmlTree = HtmlTree.SECTION(sectionHeading);
HtmlTree htmlTree = HtmlTree.SECTION(HtmlStyle.hierarchy, sectionHeading);
addLevelInfo(!utils.isInterface(firstTypeElement) ? firstTypeElement : null,
sset, isEnums, htmlTree);
div.add(htmlTree);

View file

@ -152,11 +152,8 @@ public class AllClassesIndexWriter extends HtmlDocletWriter {
Content headerDiv = HtmlTree.DIV(HtmlStyle.header, pHeading);
content.add(headerDiv);
if (!table.isEmpty()) {
HtmlTree li = HtmlTree.LI(HtmlStyle.blockList, table.toContent());
HtmlTree ul = HtmlTree.UL(HtmlStyle.blockList, li);
HtmlTree div = new HtmlTree(HtmlTag.DIV);
HtmlTree div = new HtmlTree(HtmlTag.DIV, table.toContent());
div.setStyle(HtmlStyle.allClassesContainer);
div.add(ul);
content.add(div);
if (table.needsScript()) {
getMainBodyScript().append(table.getScript());

View file

@ -125,7 +125,6 @@ public class AllPackagesIndexWriter extends HtmlDocletWriter {
table.addRow(pkg, packageLinkContent, summaryContent);
}
}
HtmlTree li = HtmlTree.LI(HtmlStyle.blockList, table.toContent());
content.add(HtmlTree.UL(HtmlStyle.blockList, li));
content.add(table.toContent());
}
}

View file

@ -25,18 +25,18 @@
package jdk.javadoc.internal.doclets.formats.html;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import javax.lang.model.element.Element;
import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.TypeElement;
import javax.lang.model.type.TypeMirror;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
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.StringContent;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeFieldWriter;
import jdk.javadoc.internal.doclets.toolkit.Content;
import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter;
@ -72,7 +72,7 @@ public class AnnotationTypeFieldWriterImpl extends AbstractMemberWriter
Content memberSummaryTree) {
memberSummaryTree.add(
MarkerComments.START_OF_ANNOTATION_TYPE_FIELD_SUMMARY);
Content memberTree = writer.getMemberTreeHeader();
Content memberTree = new ContentBuilder();
writer.addSummaryHeader(this, typeElement, memberTree);
return memberTree;
}
@ -88,7 +88,7 @@ public class AnnotationTypeFieldWriterImpl extends AbstractMemberWriter
* {@inheritDoc}
*/
public void addMemberTree(Content memberSummaryTree, Content memberTree) {
writer.addMemberTree(memberSummaryTree, memberTree);
writer.addMemberTree(HtmlStyle.fieldSummary, memberSummaryTree, memberTree);
}
/**
@ -101,16 +101,17 @@ public class AnnotationTypeFieldWriterImpl extends AbstractMemberWriter
/**
* {@inheritDoc}
*/
public void addAnnotationDetailsTreeHeader(TypeElement typeElement,
Content memberDetailsTree) {
public Content getAnnotationDetailsTreeHeader(TypeElement typeElement) {
Content memberDetailsTree = new ContentBuilder();
if (!writer.printedAnnotationFieldHeading) {
memberDetailsTree.add(links.createAnchor(
SectionName.ANNOTATION_TYPE_FIELD_DETAIL));
Content heading = HtmlTree.HEADING(Headings.TypeDeclaration.DETAILS_HEADING,
contents.fieldDetailsLabel);
memberDetailsTree.add(heading);
memberDetailsTree.add(links.createAnchor(
SectionName.ANNOTATION_TYPE_FIELD_DETAIL));
writer.printedAnnotationFieldHeading = true;
}
return memberDetailsTree;
}
/**
@ -118,12 +119,12 @@ public class AnnotationTypeFieldWriterImpl extends AbstractMemberWriter
*/
public Content getAnnotationDocTreeHeader(Element member,
Content annotationDetailsTree) {
annotationDetailsTree.add(links.createAnchor(name(member)));
Content annotationDocTree = writer.getMemberTreeHeader();
Content annotationDocTree = new ContentBuilder();
Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING);
heading.add(name(member));
annotationDocTree.add(heading);
return annotationDocTree;
annotationDocTree.add(links.createAnchor(name(member)));
return HtmlTree.SECTION(HtmlStyle.detail, annotationDocTree);
}
/**
@ -171,8 +172,11 @@ public class AnnotationTypeFieldWriterImpl extends AbstractMemberWriter
/**
* {@inheritDoc}
*/
public Content getAnnotationDetails(Content annotationDetailsTree) {
return HtmlTree.SECTION(getMemberTree(annotationDetailsTree));
public Content getAnnotationDetails(Content annotationDetailsTreeHeader, Content annotationDetailsTree) {
Content annotationDetails = new ContentBuilder();
annotationDetails.add(annotationDetailsTreeHeader);
annotationDetails.add(annotationDetailsTree);
return getMemberTree(HtmlTree.SECTION(HtmlStyle.fieldDetails, annotationDetails));
}
/**

View file

@ -25,14 +25,14 @@
package jdk.javadoc.internal.doclets.formats.html;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
import javax.lang.model.element.AnnotationValue;
import javax.lang.model.element.Element;
import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.TypeElement;
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.TableHeader;
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeOptionalMemberWriter;
@ -74,7 +74,7 @@ public class AnnotationTypeOptionalMemberWriterImpl extends
Content memberSummaryTree) {
memberSummaryTree.add(
MarkerComments.START_OF_ANNOTATION_TYPE_OPTIONAL_MEMBER_SUMMARY);
Content memberTree = writer.getMemberTreeHeader();
Content memberTree = new ContentBuilder();
writer.addSummaryHeader(this, typeElement, memberTree);
return memberTree;
}
@ -84,7 +84,7 @@ public class AnnotationTypeOptionalMemberWriterImpl extends
*/
@Override
public void addMemberTree(Content memberSummaryTree, Content memberTree) {
writer.addMemberTree(memberSummaryTree, memberTree);
writer.addMemberTree(HtmlStyle.memberSummary, memberSummaryTree, memberTree);
}
/**

View file

@ -25,18 +25,18 @@
package jdk.javadoc.internal.doclets.formats.html;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import javax.lang.model.element.Element;
import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.TypeElement;
import javax.lang.model.type.TypeMirror;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
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.StringContent;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeRequiredMemberWriter;
import jdk.javadoc.internal.doclets.toolkit.Content;
import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter;
@ -74,7 +74,7 @@ public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter
Content memberSummaryTree) {
memberSummaryTree.add(
MarkerComments.START_OF_ANNOTATION_TYPE_REQUIRED_MEMBER_SUMMARY);
Content memberTree = writer.getMemberTreeHeader();
Content memberTree = new ContentBuilder();
writer.addSummaryHeader(this, typeElement, memberTree);
return memberTree;
}
@ -90,7 +90,7 @@ public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter
* {@inheritDoc}
*/
public void addMemberTree(Content memberSummaryTree, Content memberTree) {
writer.addMemberTree(memberSummaryTree, memberTree);
writer.addMemberTree(HtmlStyle.memberSummary, memberSummaryTree, memberTree);
}
/**
@ -103,16 +103,17 @@ public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter
/**
* {@inheritDoc}
*/
public void addAnnotationDetailsTreeHeader(TypeElement te,
Content memberDetailsTree) {
public Content getAnnotationDetailsTreeHeader(TypeElement te) {
Content memberDetailsTree = new ContentBuilder();
if (!writer.printedAnnotationHeading) {
memberDetailsTree.add(links.createAnchor(
SectionName.ANNOTATION_TYPE_ELEMENT_DETAIL));
Content heading = HtmlTree.HEADING(Headings.TypeDeclaration.DETAILS_HEADING,
contents.annotationTypeDetailsLabel);
memberDetailsTree.add(heading);
memberDetailsTree.add(links.createAnchor(
SectionName.ANNOTATION_TYPE_ELEMENT_DETAIL));
writer.printedAnnotationHeading = true;
}
return memberDetailsTree;
}
/**
@ -121,13 +122,13 @@ public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter
@Override
public Content getAnnotationDocTreeHeader(Element member, Content annotationDetailsTree) {
String simpleName = name(member);
annotationDetailsTree.add(links.createAnchor(
simpleName + utils.signature((ExecutableElement) member)));
Content annotationDocTree = writer.getMemberTreeHeader();
Content annotationDocTree = new ContentBuilder();
Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING);
heading.add(simpleName);
annotationDocTree.add(heading);
return annotationDocTree;
annotationDocTree.add(links.createAnchor(
simpleName + utils.signature((ExecutableElement) member)));
return HtmlTree.SECTION(HtmlStyle.detail, annotationDocTree);
}
/**
@ -175,8 +176,9 @@ public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter
/**
* {@inheritDoc}
*/
public Content getAnnotationDetails(Content annotationDetailsTree) {
return HtmlTree.SECTION(getMemberTree(annotationDetailsTree));
public Content getAnnotationDetails(Content annotationDetailsTreeHeader, Content annotationDetailsTree) {
Content annotationDetails = new ContentBuilder(annotationDetailsTreeHeader, annotationDetailsTree);
return getMemberTree(HtmlTree.SECTION(HtmlStyle.memberDetails, annotationDetails));
}
/**

View file

@ -171,7 +171,7 @@ public class AnnotationTypeWriterImpl extends SubWriterHolderWriter
*/
@Override
public Content getAnnotationInfo(Content annotationInfoTree) {
return getMemberTree(HtmlStyle.description, annotationInfoTree);
return HtmlTree.SECTION(HtmlStyle.description, annotationInfoTree);
}
/**

View file

@ -249,14 +249,13 @@ public class ClassUseWriter extends SubWriterHolderWriter {
* @param contentTree the content tree to which the class use information will be added
*/
protected void addClassUse(Content contentTree) {
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.setStyle(HtmlStyle.blockList);
Content content = new ContentBuilder();
if (configuration.packages.size() > 1) {
addPackageList(ul);
addPackageAnnotationList(ul);
addPackageList(content);
addPackageAnnotationList(content);
}
addClassList(ul);
contentTree.add(ul);
addClassList(content);
contentTree.add(content);
}
/**
@ -276,8 +275,7 @@ public class ClassUseWriter extends SubWriterHolderWriter {
for (PackageElement pkg : pkgSet) {
addPackageUse(pkg, table);
}
Content li = HtmlTree.LI(HtmlStyle.blockList, table.toContent());
contentTree.add(li);
contentTree.add(table.toContent());
}
/**
@ -305,8 +303,7 @@ public class ClassUseWriter extends SubWriterHolderWriter {
addSummaryComment(pkg, summary);
table.addRow(getPackageLink(pkg), summary);
}
Content li = HtmlTree.LI(HtmlStyle.blockList, table.toContent());
contentTree.add(li);
contentTree.add(table.toContent());
}
/**
@ -319,7 +316,7 @@ public class ClassUseWriter extends SubWriterHolderWriter {
ul.setStyle(HtmlStyle.blockList);
for (PackageElement pkg : pkgSet) {
Content markerAnchor = links.createAnchor(getPackageAnchorName(pkg));
HtmlTree htmlTree = HtmlTree.SECTION(markerAnchor);
HtmlTree htmlTree = HtmlTree.SECTION(HtmlStyle.detail, markerAnchor);
Content link = contents.getContent("doclet.ClassUse_Uses.of.0.in.1",
getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.CLASS_USE_HEADER,
typeElement)),
@ -329,7 +326,7 @@ public class ClassUseWriter extends SubWriterHolderWriter {
addClassUse(pkg, htmlTree);
ul.add(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
}
Content li = HtmlTree.LI(HtmlStyle.blockList, ul);
Content li = HtmlTree.SECTION(HtmlStyle.classUses, ul);
contentTree.add(li);
}

View file

@ -157,7 +157,7 @@ public class ConstantsSummaryWriterImpl extends HtmlDocletWriter implements Cons
Content headingContent = contents.contentsHeading;
Content heading = HtmlTree.HEADING(Headings.CONTENT_HEADING, true,
headingContent);
HtmlTree section = HtmlTree.SECTION(heading);
HtmlTree section = HtmlTree.SECTION(HtmlStyle.packages, heading);
section.add(contentListTree);
div.add(section);
mainTree.add(div);
@ -194,7 +194,7 @@ public class ConstantsSummaryWriterImpl extends HtmlDocletWriter implements Cons
Content heading = HtmlTree.HEADING(Headings.ConstantsSummary.PACKAGE_HEADING, true,
pkgNameContent);
heading.add(headingContent);
summaryTree = HtmlTree.SECTION(heading);
summaryTree = HtmlTree.SECTION(HtmlStyle.constantsSummary, heading);
}
/**

View file

@ -25,25 +25,26 @@
package jdk.javadoc.internal.doclets.formats.html;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
import java.util.*;
import java.util.Arrays;
import java.util.List;
import javax.lang.model.element.Element;
import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.TypeElement;
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.StringContent;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
import jdk.javadoc.internal.doclets.toolkit.ConstructorWriter;
import jdk.javadoc.internal.doclets.toolkit.Content;
import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter;
import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable;
import static jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.Kind.*;
import static jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.Kind.CONSTRUCTORS;
/**
@ -98,7 +99,7 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
public Content getMemberSummaryHeader(TypeElement typeElement,
Content memberSummaryTree) {
memberSummaryTree.add(MarkerComments.START_OF_CONSTRUCTOR_SUMMARY);
Content memberTree = writer.getMemberTreeHeader();
Content memberTree = new ContentBuilder();
writer.addSummaryHeader(this, typeElement, memberTree);
return memberTree;
}
@ -108,7 +109,7 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
*/
@Override
public void addMemberTree(Content memberSummaryTree, Content memberTree) {
writer.addMemberTree(memberSummaryTree, memberTree);
writer.addMemberTree(HtmlStyle.constructorSummary, memberSummaryTree, memberTree);
}
/**
@ -118,12 +119,12 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
public Content getConstructorDetailsTreeHeader(TypeElement typeElement,
Content memberDetailsTree) {
memberDetailsTree.add(MarkerComments.START_OF_CONSTRUCTOR_DETAILS);
Content constructorDetailsTree = writer.getMemberTreeHeader();
constructorDetailsTree.add(links.createAnchor(
SectionName.CONSTRUCTOR_DETAIL));
Content constructorDetailsTree = new ContentBuilder();
Content heading = HtmlTree.HEADING(Headings.TypeDeclaration.DETAILS_HEADING,
contents.constructorDetailsLabel);
constructorDetailsTree.add(heading);
constructorDetailsTree.add(links.createAnchor(
SectionName.CONSTRUCTOR_DETAIL));
return constructorDetailsTree;
}
@ -134,15 +135,15 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
public Content getConstructorDocTreeHeader(ExecutableElement constructor,
Content constructorDetailsTree) {
String erasureAnchor;
if ((erasureAnchor = getErasureAnchor(constructor)) != null) {
constructorDetailsTree.add(links.createAnchor((erasureAnchor)));
}
constructorDetailsTree.add(links.createAnchor(writer.getAnchor(constructor)));
Content constructorDocTree = writer.getMemberTreeHeader();
Content constructorDocTree = new ContentBuilder();
Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING);
heading.add(name(constructor));
constructorDocTree.add(heading);
return constructorDocTree;
if ((erasureAnchor = getErasureAnchor(constructor)) != null) {
constructorDocTree.add(links.createAnchor((erasureAnchor)));
}
constructorDocTree.add(links.createAnchor(writer.getAnchor(constructor)));
return HtmlTree.SECTION(HtmlStyle.detail, constructorDocTree);
}
/**
@ -194,8 +195,9 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
* {@inheritDoc}
*/
@Override
public Content getConstructorDetails(Content constructorDetailsTree) {
return HtmlTree.SECTION(getMemberTree(constructorDetailsTree));
public Content getConstructorDetails(Content constructorDetailsTreeHeader, Content constructorDetailsTree) {
Content constructorDetails = new ContentBuilder(constructorDetailsTreeHeader, constructorDetailsTree);
return getMemberTree(HtmlTree.SECTION(HtmlStyle.constructorDetails, constructorDetails));
}
/**
@ -303,4 +305,9 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
tdSummaryType.add(code);
}
}
@Override
public Content getMemberTreeHeader(){
return writer.getMemberTreeHeader();
}
}

View file

@ -26,17 +26,17 @@
package jdk.javadoc.internal.doclets.formats.html;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
import javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
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.StringContent;
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;
import jdk.javadoc.internal.doclets.toolkit.EnumConstantWriter;
import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter;
@ -70,7 +70,7 @@ public class EnumConstantWriterImpl extends AbstractMemberWriter
public Content getMemberSummaryHeader(TypeElement typeElement,
Content memberSummaryTree) {
memberSummaryTree.add(MarkerComments.START_OF_ENUM_CONSTANT_SUMMARY);
Content memberTree = writer.getMemberTreeHeader();
Content memberTree = new ContentBuilder();
writer.addSummaryHeader(this, typeElement, memberTree);
return memberTree;
}
@ -80,7 +80,7 @@ public class EnumConstantWriterImpl extends AbstractMemberWriter
*/
@Override
public void addMemberTree(Content memberSummaryTree, Content memberTree) {
writer.addMemberTree(memberSummaryTree, memberTree);
writer.addMemberTree(HtmlStyle.constantsSummary, memberSummaryTree, memberTree);
}
/**
@ -90,12 +90,12 @@ public class EnumConstantWriterImpl extends AbstractMemberWriter
public Content getEnumConstantsDetailsTreeHeader(TypeElement typeElement,
Content memberDetailsTree) {
memberDetailsTree.add(MarkerComments.START_OF_ENUM_CONSTANT_DETAILS);
Content enumConstantsDetailsTree = writer.getMemberTreeHeader();
enumConstantsDetailsTree.add(links.createAnchor(
SectionName.ENUM_CONSTANT_DETAIL));
Content enumConstantsDetailsTree = new ContentBuilder();
Content heading = HtmlTree.HEADING(Headings.TypeDeclaration.DETAILS_HEADING,
contents.enumConstantDetailLabel);
enumConstantsDetailsTree.add(heading);
enumConstantsDetailsTree.add(links.createAnchor(
SectionName.ENUM_CONSTANT_DETAIL));
return enumConstantsDetailsTree;
}
@ -105,12 +105,12 @@ public class EnumConstantWriterImpl extends AbstractMemberWriter
@Override
public Content getEnumConstantsTreeHeader(VariableElement enumConstant,
Content enumConstantsDetailsTree) {
enumConstantsDetailsTree.add(links.createAnchor(name(enumConstant)));
Content enumConstantsTree = writer.getMemberTreeHeader();
Content enumConstantsTree = new ContentBuilder();
Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING);
heading.add(name(enumConstant));
enumConstantsTree.add(heading);
return enumConstantsTree;
enumConstantsTree.add(links.createAnchor(name(enumConstant)));
return HtmlTree.SECTION(HtmlStyle.detail, enumConstantsTree);
}
/**
@ -162,8 +162,11 @@ public class EnumConstantWriterImpl extends AbstractMemberWriter
* {@inheritDoc}
*/
@Override
public Content getEnumConstantsDetails(Content enumConstantsDetailsTree) {
return HtmlTree.SECTION(getMemberTree(enumConstantsDetailsTree));
public Content getEnumConstantsDetails(Content enumConstantsDetailsTreeHeader,
Content enumConstantsDetailsTree) {
Content enumConstantsDetails =
new ContentBuilder(enumConstantsDetailsTreeHeader, enumConstantsDetailsTree);
return getMemberTree(HtmlTree.SECTION(HtmlStyle.constantDetails, enumConstantsDetails));
}
/**
@ -261,4 +264,9 @@ public class EnumConstantWriterImpl extends AbstractMemberWriter
String name = utils.getFullyQualifiedName(member) + "." + member.getSimpleName();
return writer.getDocLink(LinkInfoImpl.Kind.MEMBER, member, name);
}
@Override
public Content getMemberTreeHeader(){
return writer.getMemberTreeHeader();
}
}

View file

@ -25,9 +25,6 @@
package jdk.javadoc.internal.doclets.formats.html;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
import java.util.Arrays;
import java.util.List;
@ -35,10 +32,13 @@ import javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
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.StringContent;
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;
import jdk.javadoc.internal.doclets.toolkit.FieldWriter;
import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter;
@ -74,7 +74,7 @@ public class FieldWriterImpl extends AbstractMemberWriter
public Content getMemberSummaryHeader(TypeElement typeElement,
Content memberSummaryTree) {
memberSummaryTree.add(MarkerComments.START_OF_FIELD_SUMMARY);
Content memberTree = writer.getMemberTreeHeader();
Content memberTree = new ContentBuilder();
writer.addSummaryHeader(this, typeElement, memberTree);
return memberTree;
}
@ -84,7 +84,7 @@ public class FieldWriterImpl extends AbstractMemberWriter
*/
@Override
public void addMemberTree(Content memberSummaryTree, Content memberTree) {
writer.addMemberTree(memberSummaryTree, memberTree);
writer.addMemberTree(HtmlStyle.fieldSummary, memberSummaryTree, memberTree);
}
/**
@ -93,12 +93,12 @@ public class FieldWriterImpl extends AbstractMemberWriter
@Override
public Content getFieldDetailsTreeHeader(TypeElement typeElement, Content memberDetailsTree) {
memberDetailsTree.add(MarkerComments.START_OF_FIELD_DETAILS);
Content fieldDetailsTree = writer.getMemberTreeHeader();
fieldDetailsTree.add(links.createAnchor(
SectionName.FIELD_DETAIL));
Content fieldDetailsTree = new ContentBuilder();
Content heading = HtmlTree.HEADING(Headings.TypeDeclaration.DETAILS_HEADING,
contents.fieldDetailsLabel);
fieldDetailsTree.add(heading);
fieldDetailsTree.add(links.createAnchor(
SectionName.FIELD_DETAIL));
return fieldDetailsTree;
}
@ -107,12 +107,12 @@ public class FieldWriterImpl extends AbstractMemberWriter
*/
@Override
public Content getFieldDocTreeHeader(VariableElement field, Content fieldDetailsTree) {
fieldDetailsTree.add(links.createAnchor(name(field)));
Content fieldTree = writer.getMemberTreeHeader();
Content fieldTree = new ContentBuilder();
Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING);
heading.add(name(field));
fieldTree.add(heading);
return fieldTree;
fieldTree.add(links.createAnchor(name(field)));
return HtmlTree.SECTION(HtmlStyle.detail, fieldTree);
}
/**
@ -166,8 +166,9 @@ public class FieldWriterImpl extends AbstractMemberWriter
* {@inheritDoc}
*/
@Override
public Content getFieldDetails(Content fieldDetailsTree) {
return HtmlTree.SECTION(getMemberTree(fieldDetailsTree));
public Content getFieldDetails(Content fieldDetailsTreeHeader, Content fieldDetailsTree) {
Content fieldDetails = new ContentBuilder(fieldDetailsTreeHeader, fieldDetailsTree);
return getMemberTree(HtmlTree.SECTION(HtmlStyle.fieldDetails, fieldDetails));
}
/**
@ -290,4 +291,9 @@ public class FieldWriterImpl extends AbstractMemberWriter
String name = utils.getFullyQualifiedName(member) + "." + member.getSimpleName();
return writer.getDocLink(LinkInfoImpl.Kind.MEMBER, member, name);
}
@Override
public Content getMemberTreeHeader(){
return writer.getMemberTreeHeader();
}
}

View file

@ -127,7 +127,7 @@ public class HelpWriter extends HtmlDocletWriter {
if (configuration.createoverview) {
Content overviewHeading = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.overviewLabel);
htmlTree = HtmlTree.SECTION(overviewHeading);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, overviewHeading);
String overviewKey = configuration.showModules
? "doclet.help.overview.modules.body"
: "doclet.help.overview.packages.body";
@ -143,7 +143,7 @@ public class HelpWriter extends HtmlDocletWriter {
if (configuration.showModules) {
Content moduleHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.moduleLabel);
htmlTree = HtmlTree.SECTION(moduleHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, moduleHead);
Content moduleIntro = contents.getContent("doclet.help.module.intro");
Content modulePara = HtmlTree.P(moduleIntro);
htmlTree.add(modulePara);
@ -158,7 +158,7 @@ public class HelpWriter extends HtmlDocletWriter {
// Package
Content packageHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.packageLabel);
htmlTree = HtmlTree.SECTION(packageHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, packageHead);
Content packageIntro = contents.getContent("doclet.help.package.intro");
Content packagePara = HtmlTree.P(packageIntro);
htmlTree.add(packagePara);
@ -175,7 +175,7 @@ public class HelpWriter extends HtmlDocletWriter {
// Class/interface
Content classHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.getContent("doclet.help.class_interface.head"));
htmlTree = HtmlTree.SECTION(classHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, classHead);
Content classIntro = contents.getContent("doclet.help.class_interface.intro");
Content classPara = HtmlTree.P(classIntro);
htmlTree.add(classPara);
@ -210,7 +210,7 @@ public class HelpWriter extends HtmlDocletWriter {
// Annotation Types
Content aHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.annotationType);
htmlTree = HtmlTree.SECTION(aHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, aHead);
Content aIntro = contents.getContent("doclet.help.annotation_type.intro");
Content aPara = HtmlTree.P(aIntro);
htmlTree.add(aPara);
@ -225,7 +225,7 @@ public class HelpWriter extends HtmlDocletWriter {
// Enums
Content enumHead = HtmlTree.HEADING(Headings.CONTENT_HEADING, contents.enum_);
htmlTree = HtmlTree.SECTION(enumHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, enumHead);
Content eIntro = contents.getContent("doclet.help.enum.intro");
Content enumPara = HtmlTree.P(eIntro);
htmlTree.add(enumPara);
@ -241,7 +241,7 @@ public class HelpWriter extends HtmlDocletWriter {
if (configuration.classuse) {
Content useHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.getContent("doclet.help.use.head"));
htmlTree = HtmlTree.SECTION(useHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, useHead);
Content useBody = contents.getContent("doclet.help.use.body");
Content usePara = HtmlTree.P(useBody);
htmlTree.add(usePara);
@ -252,7 +252,7 @@ public class HelpWriter extends HtmlDocletWriter {
if (configuration.createtree) {
Content treeHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.getContent("doclet.help.tree.head"));
htmlTree = HtmlTree.SECTION(treeHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, treeHead);
Content treeIntro = contents.getContent("doclet.help.tree.intro",
links.createLink(DocPaths.OVERVIEW_TREE,
resources.getText("doclet.Class_Hierarchy")),
@ -270,7 +270,7 @@ public class HelpWriter extends HtmlDocletWriter {
if (!(configuration.nodeprecatedlist || configuration.nodeprecated)) {
Content dHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.deprecatedAPI);
htmlTree = HtmlTree.SECTION(dHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, dHead);
Content deprBody = contents.getContent("doclet.help.deprecated.body",
links.createLink(DocPaths.DEPRECATED_LIST,
resources.getText("doclet.Deprecated_API")));
@ -291,7 +291,7 @@ public class HelpWriter extends HtmlDocletWriter {
}
Content indexHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.getContent("doclet.help.index.head"));
htmlTree = HtmlTree.SECTION(indexHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, indexHead);
Content indexBody = contents.getContent("doclet.help.index.body", indexlink);
Content indexPara = HtmlTree.P(indexBody);
htmlTree.add(indexPara);
@ -301,7 +301,7 @@ public class HelpWriter extends HtmlDocletWriter {
// Serialized Form
Content sHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.serializedForm);
htmlTree = HtmlTree.SECTION(sHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, sHead);
Content serialBody = contents.getContent("doclet.help.serial_form.body");
Content serialPara = HtmlTree.P(serialBody);
htmlTree.add(serialPara);
@ -310,7 +310,7 @@ public class HelpWriter extends HtmlDocletWriter {
// Constant Field Values
Content constHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.constantsSummaryTitle);
htmlTree = HtmlTree.SECTION(constHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, constHead);
Content constantsBody = contents.getContent("doclet.help.constants.body",
links.createLink(DocPaths.CONSTANT_VALUES,
resources.getText("doclet.Constants_Summary")));
@ -321,7 +321,7 @@ public class HelpWriter extends HtmlDocletWriter {
// Search
Content searchHead = HtmlTree.HEADING(Headings.CONTENT_HEADING,
contents.getContent("doclet.help.search.head"));
htmlTree = HtmlTree.SECTION(searchHead);
htmlTree = HtmlTree.SECTION(HtmlStyle.helpSection, searchHead);
Content searchBody = contents.getContent("doclet.help.search.body");
Content searchPara = HtmlTree.P(searchBody);
htmlTree.add(searchPara);

View file

@ -103,15 +103,14 @@ public class HtmlSerialFieldWriter extends FieldWriterImpl
* @return a content tree for the serializable fields content
*/
public Content getSerializableFields(String heading, Content serializableFieldsTree) {
HtmlTree li = new HtmlTree(HtmlTag.LI);
li.setStyle(HtmlStyle.blockList);
HtmlTree section = HtmlTree.SECTION(HtmlStyle.detail);
if (serializableFieldsTree.isValid()) {
Content headingContent = new StringContent(heading);
Content serialHeading = HtmlTree.HEADING(Headings.SerializedForm.CLASS_SUBHEADING, headingContent);
li.add(serialHeading);
li.add(serializableFieldsTree);
section.add(serialHeading);
section.add(serializableFieldsTree);
}
return li;
return HtmlTree.LI(HtmlStyle.blockList, section);
}
@Override

View file

@ -95,9 +95,9 @@ public class HtmlSerialMethodWriter extends MethodWriterImpl implements
public Content getSerializableMethods(String heading, Content serializableMethodContent) {
Content headingContent = new StringContent(heading);
Content serialHeading = HtmlTree.HEADING(Headings.SerializedForm.CLASS_SUBHEADING, headingContent);
Content li = HtmlTree.LI(HtmlStyle.blockList, serialHeading);
li.add(serializableMethodContent);
return li;
Content section = HtmlTree.SECTION(HtmlStyle.detail, serialHeading);
section.add(serializableMethodContent);
return HtmlTree.LI(HtmlStyle.blockList, section);
}
/**

View file

@ -25,9 +25,6 @@
package jdk.javadoc.internal.doclets.formats.html;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
import java.util.SortedSet;
import java.util.TreeSet;
@ -36,10 +33,13 @@ import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.TypeElement;
import javax.lang.model.type.TypeMirror;
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.StringContent;
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;
import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter;
import jdk.javadoc.internal.doclets.toolkit.MethodWriter;
@ -87,7 +87,7 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
@Override
public Content getMemberSummaryHeader(TypeElement typeElement, Content memberSummaryTree) {
memberSummaryTree.add(MarkerComments.START_OF_METHOD_SUMMARY);
Content memberTree = writer.getMemberTreeHeader();
Content memberTree = new ContentBuilder();
writer.addSummaryHeader(this, typeElement, memberTree);
return memberTree;
}
@ -97,7 +97,7 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
*/
@Override
public void addMemberTree(Content memberSummaryTree, Content memberTree) {
writer.addMemberTree(memberSummaryTree, memberTree);
writer.addMemberTree(HtmlStyle.methodSummary, memberSummaryTree, memberTree);
}
/**
@ -106,11 +106,11 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
@Override
public Content getMethodDetailsTreeHeader(TypeElement typeElement, Content memberDetailsTree) {
memberDetailsTree.add(MarkerComments.START_OF_METHOD_DETAILS);
Content methodDetailsTree = writer.getMemberTreeHeader();
methodDetailsTree.add(links.createAnchor(SectionName.METHOD_DETAIL));
Content methodDetailsTree = new ContentBuilder();
Content heading = HtmlTree.HEADING(Headings.TypeDeclaration.DETAILS_HEADING,
contents.methodDetailLabel);
methodDetailsTree.add(heading);
methodDetailsTree.add(links.createAnchor(SectionName.METHOD_DETAIL));
return methodDetailsTree;
}
@ -120,15 +120,15 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
@Override
public Content getMethodDocTreeHeader(ExecutableElement method, Content methodDetailsTree) {
String erasureAnchor;
if ((erasureAnchor = getErasureAnchor(method)) != null) {
methodDetailsTree.add(links.createAnchor((erasureAnchor)));
}
methodDetailsTree.add(links.createAnchor(writer.getAnchor(method)));
Content methodDocTree = writer.getMemberTreeHeader();
Content methodDocTree = new ContentBuilder();
Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING);
heading.add(name(method));
methodDocTree.add(heading);
return methodDocTree;
if ((erasureAnchor = getErasureAnchor(method)) != null) {
methodDocTree.add(links.createAnchor((erasureAnchor)));
}
methodDocTree.add(links.createAnchor(writer.getAnchor(method)));
return HtmlTree.SECTION(HtmlStyle.detail, methodDocTree);
}
/**
@ -210,8 +210,9 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
* {@inheritDoc}
*/
@Override
public Content getMethodDetails(Content methodDetailsTree) {
return HtmlTree.SECTION(getMemberTree(methodDetailsTree));
public Content getMethodDetails(Content methodDetailsTreeHeader, Content methodDetailsTree) {
Content methodDetails = new ContentBuilder(methodDetailsTreeHeader, methodDetailsTree);
return getMemberTree(HtmlTree.SECTION(HtmlStyle.methodDetails, methodDetails));
}
/**
@ -411,4 +412,9 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
htmltree.add(Contents.SPACE);
}
}
@Override
public Content getMemberTreeHeader(){
return writer.getMemberTreeHeader();
}
}

View file

@ -166,11 +166,6 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
*/
protected HtmlTree mainTree = HtmlTree.MAIN();
/**
* The HTML tree for section tag.
*/
protected HtmlTree sectionTree = HtmlTree.SECTION();
private final Navigation navBar;
/**
@ -237,9 +232,9 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
*/
@Override
public Content getSummaryHeader() {
HtmlTree li = new HtmlTree(HtmlTag.LI);
li.setStyle(HtmlStyle.blockList);
return li;
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.setStyle(HtmlStyle.blockList);
return ul;
}
/**
@ -249,8 +244,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
*/
@Override
public Content getSummaryTree(Content summaryContentTree) {
HtmlTree ul = HtmlTree.UL(HtmlStyle.blockList, summaryContentTree);
return ul;
return HtmlTree.SECTION(HtmlStyle.summary, summaryContentTree);
}
/**
@ -506,10 +500,9 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
TableHeader requiresTableHeader =
new TableHeader(contents.modifierLabel, contents.moduleLabel,
contents.descriptionLabel);
HtmlTree li = new HtmlTree(HtmlTag.LI);
li.setStyle(HtmlStyle.blockList);
HtmlTree section = HtmlTree.SECTION(HtmlStyle.modulesSummary);
addSummaryHeader(MarkerComments.START_OF_MODULES_SUMMARY, SectionName.MODULES,
contents.navModules, li);
contents.navModules, section);
if (display(requires)) {
String text = resources.getText("doclet.Requires_Summary");
String tableSummary = resources.getText("doclet.Member_Table_Summary",
@ -519,7 +512,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
Table table = getTable3(caption, tableSummary, HtmlStyle.requiresSummary,
requiresTableHeader);
addModulesList(requires, table);
li.add(table.toContent());
section.add(table.toContent());
}
// Display indirect modules table in both "api" and "all" mode.
if (display(indirectModules)) {
@ -531,10 +524,9 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
Table amrTable = getTable3(amrCaption, amrTableSummary, HtmlStyle.requiresSummary,
requiresTableHeader);
addModulesList(indirectModules, amrTable);
li.add(amrTable.toContent());
section.add(amrTable.toContent());
}
HtmlTree ul = HtmlTree.UL(HtmlStyle.blockList, li);
summaryContentTree.add(ul);
summaryContentTree.add(HtmlTree.LI(HtmlStyle.blockList, section));
}
}
@ -558,12 +550,11 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
public void addPackagesSummary(Content summaryContentTree) {
if (display(packages)
|| display(indirectPackages) || display(indirectOpenPackages)) {
HtmlTree li = new HtmlTree(HtmlTag.LI);
li.setStyle(HtmlStyle.blockList);
HtmlTree section = HtmlTree.SECTION(HtmlStyle.packagesSummary);
addSummaryHeader(MarkerComments.START_OF_PACKAGES_SUMMARY, SectionName.PACKAGES,
contents.navPackages, li);
contents.navPackages, section);
if (display(packages)) {
addPackageSummary(li);
addPackageSummary(section);
}
TableHeader indirectPackagesHeader =
new TableHeader(contents.fromLabel, contents.packagesLabel);
@ -572,17 +563,16 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
Table aepTable = getTable2(new StringContent(aepText),
HtmlStyle.packagesSummary, indirectPackagesHeader);
addIndirectPackages(aepTable, indirectPackages);
li.add(aepTable.toContent());
section.add(aepTable.toContent());
}
if (display(indirectOpenPackages)) {
String aopText = resources.getText("doclet.Indirect_Opens_Summary");
Table aopTable = getTable2(new StringContent(aopText), HtmlStyle.packagesSummary,
indirectPackagesHeader);
addIndirectPackages(aopTable, indirectOpenPackages);
li.add(aopTable.toContent());
section.add(aopTable.toContent());
}
HtmlTree ul = HtmlTree.UL(HtmlStyle.blockList, li);
summaryContentTree.add(ul);
summaryContentTree.add(HtmlTree.LI(HtmlStyle.blockList, section));
}
}
@ -737,10 +727,9 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
boolean haveProvides = displayServices(provides.keySet(), providesTrees);
if (haveProvides || haveUses) {
HtmlTree li = new HtmlTree(HtmlTag.LI);
li.setStyle(HtmlStyle.blockList);
HtmlTree section = HtmlTree.SECTION(HtmlStyle.servicesSummary);
addSummaryHeader(MarkerComments.START_OF_SERVICES_SUMMARY, SectionName.SERVICES,
contents.navServices, li);
contents.navServices, section);
TableHeader usesProvidesTableHeader =
new TableHeader(contents.typeLabel, contents.descriptionLabel);
if (haveProvides) {
@ -749,7 +738,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
usesProvidesTableHeader);
addProvidesList(table);
if (!table.isEmpty()) {
li.add(table.toContent());
section.add(table.toContent());
}
}
if (haveUses){
@ -758,11 +747,10 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
usesProvidesTableHeader);
addUsesList(table);
if (!table.isEmpty()) {
li.add(table.toContent());
section.add(table.toContent());
}
}
HtmlTree ul = HtmlTree.UL(HtmlStyle.blockList, li);
summaryContentTree.add(ul);
summaryContentTree.add(HtmlTree.LI(HtmlStyle.blockList, section));
}
}
@ -866,7 +854,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
@Override
public void addModuleDescription(Content moduleContentTree) {
if (!utils.getFullBody(mdle).isEmpty()) {
Content tree = HtmlTree.SECTION();
Content tree = HtmlTree.SECTION(HtmlStyle.moduleDescription);
addDeprecationInfo(tree);
tree.add(MarkerComments.START_OF_MODULE_DESCRIPTION);
tree.add(links.createAnchor(SectionName.MODULE_DESCRIPTION));
@ -880,7 +868,7 @@ public class ModuleWriterImpl extends HtmlDocletWriter implements ModuleSummaryW
*/
@Override
public void addModuleTags(Content moduleContentTree) {
Content tree = HtmlTree.SECTION();
Content tree = HtmlTree.SECTION(HtmlStyle.moduleTags);
addTagsInfo(mdle, tree);
moduleContentTree.add(tree);
}

View file

@ -25,18 +25,18 @@
package jdk.javadoc.internal.doclets.formats.html;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
import java.util.Arrays;
import java.util.List;
import javax.lang.model.element.Element;
import javax.lang.model.element.TypeElement;
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.StringContent;
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;
import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter;
@ -71,7 +71,7 @@ public class NestedClassWriterImpl extends AbstractMemberWriter
public Content getMemberSummaryHeader(TypeElement typeElement,
Content memberSummaryTree) {
memberSummaryTree.add(MarkerComments.START_OF_NESTED_CLASS_SUMMARY);
Content memberTree = writer.getMemberTreeHeader();
Content memberTree = new ContentBuilder();
writer.addSummaryHeader(this, typeElement, memberTree);
return memberTree;
}
@ -81,7 +81,7 @@ public class NestedClassWriterImpl extends AbstractMemberWriter
*/
@Override
public void addMemberTree(Content memberSummaryTree, Content memberTree) {
writer.addMemberTree(memberSummaryTree, memberTree);
writer.addMemberTree(HtmlStyle.nestedClassSummary, memberSummaryTree, memberTree);
}
/**

View file

@ -151,13 +151,12 @@ public class PackageUseWriter extends SubWriterHolderWriter {
* @param contentTree the content tree to which the package use information will be added
*/
protected void addPackageUse(Content contentTree) {
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.setStyle(HtmlStyle.blockList);
Content content = new ContentBuilder();
if (configuration.packages.size() > 1) {
addPackageList(ul);
addPackageList(content);
}
addClassList(ul);
contentTree.add(ul);
addClassList(content);
contentTree.add(content);
}
/**
@ -185,8 +184,7 @@ public class PackageUseWriter extends SubWriterHolderWriter {
}
table.addRow(packageLink, summary);
}
Content li = HtmlTree.LI(HtmlStyle.blockList, table.toContent());
contentTree.add(li);
contentTree.add(table.toContent());
}
/**
@ -197,11 +195,12 @@ public class PackageUseWriter extends SubWriterHolderWriter {
protected void addClassList(Content contentTree) {
TableHeader classTableHeader = new TableHeader(
contents.classLabel, contents.descriptionLabel);
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.setStyle(HtmlStyle.blockList);
for (String packageName : usingPackageToUsedClasses.keySet()) {
PackageElement usingPackage = utils.elementUtils.getPackageElement(packageName);
HtmlTree li = new HtmlTree(HtmlTag.LI);
li.setStyle(HtmlStyle.blockList);
li.add(links.createAnchor(getPackageAnchorName(usingPackage)));
HtmlTree section = HtmlTree.SECTION(HtmlStyle.detail);
section.add(links.createAnchor(getPackageAnchorName(usingPackage)));
String tableSummary = resources.getText("doclet.Use_Table_Summary",
resources.getText("doclet.classes"));
Content caption = contents.getContent(
@ -223,9 +222,11 @@ public class PackageUseWriter extends SubWriterHolderWriter {
table.addRow(typeContent, summary);
}
li.add(table.toContent());
contentTree.add(li);
section.add(table.toContent());
ul.add(HtmlTree.LI(HtmlStyle.blockList, section));
}
Content li = HtmlTree.SECTION(HtmlStyle.packageUses, ul);
contentTree.add(li);
}
/**

View file

@ -77,7 +77,7 @@ public class PackageWriterImpl extends HtmlDocletWriter
/**
* The HTML tree for section tag.
*/
protected HtmlTree sectionTree = HtmlTree.SECTION();
protected HtmlTree sectionTree = HtmlTree.SECTION(HtmlStyle.packageDescription, new ContentBuilder());
private final Navigation navBar;
@ -320,4 +320,12 @@ public class PackageWriterImpl extends HtmlDocletWriter
printHtmlDocument(configuration.metakeywords.getMetaKeywords(packageElement),
description, stylesheetContent, contentTree);
}
/**
* {@inheritDoc}
*/
@Override
public Content getPackageSummary(Content summaryContentTree) {
return HtmlTree.SECTION(HtmlStyle.summary, summaryContentTree);
}
}

View file

@ -26,17 +26,17 @@
package jdk.javadoc.internal.doclets.formats.html;
import jdk.javadoc.internal.doclets.formats.html.markup.Table;
import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
import javax.lang.model.element.Element;
import javax.lang.model.element.ExecutableElement;
import javax.lang.model.element.TypeElement;
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.StringContent;
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;
import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter;
import jdk.javadoc.internal.doclets.toolkit.PropertyWriter;
@ -68,7 +68,7 @@ public class PropertyWriterImpl extends AbstractMemberWriter
@Override
public Content getMemberSummaryHeader(TypeElement typeElement, Content memberSummaryTree) {
memberSummaryTree.add(MarkerComments.START_OF_PROPERTY_SUMMARY);
Content memberTree = writer.getMemberTreeHeader();
Content memberTree = new ContentBuilder();
writer.addSummaryHeader(this, typeElement, memberTree);
return memberTree;
}
@ -78,7 +78,7 @@ public class PropertyWriterImpl extends AbstractMemberWriter
*/
@Override
public void addMemberTree(Content memberSummaryTree, Content memberTree) {
writer.addMemberTree(memberSummaryTree, memberTree);
writer.addMemberTree(HtmlStyle.propertySummary, memberSummaryTree, memberTree);
}
/**
@ -88,11 +88,11 @@ public class PropertyWriterImpl extends AbstractMemberWriter
public Content getPropertyDetailsTreeHeader(TypeElement typeElement,
Content memberDetailsTree) {
memberDetailsTree.add(MarkerComments.START_OF_PROPERTY_DETAILS);
Content propertyDetailsTree = writer.getMemberTreeHeader();
propertyDetailsTree.add(links.createAnchor(SectionName.PROPERTY_DETAIL));
Content propertyDetailsTree = new ContentBuilder();
Content heading = HtmlTree.HEADING(Headings.TypeDeclaration.DETAILS_HEADING,
contents.propertyDetailsLabel);
propertyDetailsTree.add(heading);
propertyDetailsTree.add(links.createAnchor(SectionName.PROPERTY_DETAIL));
return propertyDetailsTree;
}
@ -102,12 +102,12 @@ public class PropertyWriterImpl extends AbstractMemberWriter
@Override
public Content getPropertyDocTreeHeader(ExecutableElement property,
Content propertyDetailsTree) {
propertyDetailsTree.add(links.createAnchor(name(property)));
Content propertyDocTree = writer.getMemberTreeHeader();
Content propertyDocTree = new ContentBuilder();
Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING);
heading.add(utils.getPropertyLabel(name(property)));
propertyDocTree.add(heading);
return propertyDocTree;
propertyDocTree.add(links.createAnchor(name(property)));
return HtmlTree.SECTION(HtmlStyle.detail, propertyDocTree);
}
/**
@ -181,8 +181,9 @@ public class PropertyWriterImpl extends AbstractMemberWriter
* {@inheritDoc}
*/
@Override
public Content getPropertyDetails(Content propertyDetailsTree) {
return HtmlTree.SECTION(getMemberTree(propertyDetailsTree));
public Content getPropertyDetails(Content propertyDetailsTreeHeader, Content propertyDetailsTree) {
Content propertyDetails = new ContentBuilder(propertyDetailsTreeHeader, propertyDetailsTree);
return getMemberTree(HtmlTree.SECTION(HtmlStyle.propertyDetails, propertyDetails));
}
/**
@ -312,4 +313,9 @@ public class PropertyWriterImpl extends AbstractMemberWriter
return writer.getDocLink(LinkInfoImpl.Kind.MEMBER, member,
utils.getFullyQualifiedName(member));
}
@Override
public Content getMemberTreeHeader(){
return writer.getMemberTreeHeader();
}
}

View file

@ -109,7 +109,7 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter
* @return the package serialized form header tree
*/
public Content getPackageSerializedHeader() {
return HtmlTree.SECTION();
return HtmlTree.SECTION(HtmlStyle.serializedPackageContainer);
}
/**
@ -158,7 +158,7 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter
? getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.DEFAULT, typeElement)
.label(configuration.getClassName(typeElement)))
: new StringContent(utils.getFullyQualifiedName(typeElement));
Content li = HtmlTree.LI(HtmlStyle.blockList, links.createAnchor(
Content section = HtmlTree.SECTION(HtmlStyle.serializedClassDetails, links.createAnchor(
utils.getFullyQualifiedName(typeElement)));
Content superClassLink = typeElement.getSuperclass() != null
? getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.SERIALIZED_FORM,
@ -172,8 +172,8 @@ public class SerializedFormWriterImpl extends SubWriterHolderWriter
contents.getContent(
"doclet.Class_0_extends_implements_serializable", classLink,
superClassLink);
li.add(HtmlTree.HEADING(Headings.SerializedForm.CLASS_HEADING, className));
return li;
section.add(HtmlTree.HEADING(Headings.SerializedForm.CLASS_HEADING, className));
return section;
}
/**

View file

@ -90,8 +90,8 @@ public abstract class SubWriterHolderWriter extends HtmlDocletWriter {
*/
public void addInheritedSummaryHeader(AbstractMemberWriter mw, TypeElement typeElement,
Content inheritedTree) {
mw.addInheritedSummaryAnchor(typeElement, inheritedTree);
mw.addInheritedSummaryLabel(typeElement, inheritedTree);
mw.addInheritedSummaryAnchor(typeElement, inheritedTree);
}
/**
@ -212,23 +212,29 @@ public abstract class SubWriterHolderWriter extends HtmlDocletWriter {
/**
* Get the member header tree
*
* @return a content tree the member header
* @return a content tree for the member header
*/
public Content getMemberTreeHeader() {
HtmlTree li = new HtmlTree(HtmlTag.LI);
li.setStyle(HtmlStyle.blockList);
return li;
HtmlTree ul = new HtmlTree(HtmlTag.UL);
ul.setStyle(HtmlStyle.blockList);
return ul;
}
public Content getMemberInheritedTree() {
HtmlTree div = new HtmlTree(HtmlTag.DIV);
div.setStyle(HtmlStyle.inheritedList);
return div;
}
/**
* Add the member tree.
*
* Adds the member tree with css style.
* @param style the css style to be applied to member tree
* @param memberSummaryTree the content tree representing the member summary
* @param memberTree the content tree representing the member
*/
public void addMemberTree(Content memberSummaryTree, Content memberTree) {
HtmlTree htmlTree = HtmlTree.SECTION(getMemberTree(memberTree));
memberSummaryTree.add(htmlTree);
public void addMemberTree(HtmlStyle style, Content memberSummaryTree, Content memberTree) {
HtmlTree htmlTree = HtmlTree.SECTION(style, memberTree);
memberSummaryTree.add(getMemberTree(htmlTree));
}
/**
@ -238,8 +244,7 @@ public abstract class SubWriterHolderWriter extends HtmlDocletWriter {
* @return a content tree for the member
*/
public Content getMemberTree(Content contentTree) {
Content ul = HtmlTree.UL(HtmlStyle.blockList, contentTree);
return ul;
return HtmlTree.LI(HtmlStyle.blockList, contentTree);
}
/**
@ -249,7 +254,7 @@ public abstract class SubWriterHolderWriter extends HtmlDocletWriter {
* @return a content tree for the member summary
*/
public Content getMemberSummaryTree(Content contentTree) {
return getMemberTree(HtmlStyle.summary, contentTree);
return HtmlTree.SECTION(HtmlStyle.summary, contentTree);
}
/**
@ -259,7 +264,7 @@ public abstract class SubWriterHolderWriter extends HtmlDocletWriter {
* @return a content tree for the member details
*/
public Content getMemberDetailsTree(Content contentTree) {
return getMemberTree(HtmlStyle.details, contentTree);
return HtmlTree.SECTION(HtmlStyle.details, contentTree);
}
/**
@ -270,7 +275,6 @@ public abstract class SubWriterHolderWriter extends HtmlDocletWriter {
* @return the member tree
*/
public Content getMemberTree(HtmlStyle style, Content contentTree) {
Content div = HtmlTree.DIV(style, getMemberTree(contentTree));
return div;
return HtmlTree.SECTION(style, contentTree);
}
}

View file

@ -48,12 +48,16 @@ public enum HtmlStyle {
bottomNav,
circle,
classUseContainer,
classUses,
colConstructorName,
colDeprecatedItemName,
colFirst,
colLast,
colSecond,
constantsSummary,
constructorDetails,
constructorSummary,
constantDetails,
constantValuesContainer,
contentContainer,
deprecatedLabel,
@ -63,40 +67,58 @@ public enum HtmlStyle {
description,
descfrmTypeLabel,
details,
detail,
docSummary,
emphasizedPhrase,
externalLink,
fieldDetails,
fieldSummary,
fixedNav,
header,
helpSection,
hierarchy,
horizontal,
footer,
implementationLabel,
indexContainer,
indexNav,
inheritance,
inheritedList,
interfaceName,
leftContainer,
leftTop,
leftBottom,
legalCopy,
mainContainer,
memberDetails,
memberNameLabel,
memberNameLink,
memberSummary,
methodDetails,
methodSignature,
methodSummary,
moduleDescription,
moduleLabelInPackage,
moduleLabelInType,
moduleTags,
modulesSummary,
nameValue,
navBarCell1Rev,
navList,
navListSearch,
navPadding,
nestedClassSummary,
overrideSpecifyLabel,
overviewSummary,
packages,
packageDescription,
packageHierarchyLabel,
packageLabelInType,
packagesSummary,
packageUses,
paramLabel,
propertyDetails,
propertySummary,
providesSummary,
requiresSummary,
returnLabel,
@ -107,6 +129,9 @@ public enum HtmlStyle {
searchTagResult,
seeLabel,
serializedFormContainer,
serializedPackageContainer,
serializedClassDetails,
servicesSummary,
simpleTagLabel,
skipNav,
sourceContainer,

View file

@ -717,22 +717,30 @@ public class HtmlTree extends Content {
}
/**
* Generates a SECTION tag with role attribute.
* Generates a SECTION tag with style class attribute.
*
* @param styleClass the style class for the tag
* @return an HtmlTree object for the SECTION tag
*/
public static HtmlTree SECTION() {
return new HtmlTree(HtmlTag.SECTION);
public static HtmlTree SECTION(HtmlStyle styleClass) {
HtmlTree htmlTree = new HtmlTree(HtmlTag.SECTION);
htmlTree.setStyle(styleClass);
return htmlTree;
}
/**
* Generates a SECTION tag with role attribute and some content.
* Generates a SECTION tag with style class attribute and some content.
*
* @param styleClass the style class for the tag
* @param body content of the section tag
* @return an HtmlTree object for the SECTION tag
*/
public static HtmlTree SECTION(Content body) {
return new HtmlTree(HtmlTag.SECTION, nullCheck(body));
public static HtmlTree SECTION(HtmlStyle styleClass, Content body) {
HtmlTree htmlTree = new HtmlTree(HtmlTag.SECTION, nullCheck(body));
if (styleClass != null) {
htmlTree.setStyle(styleClass);
}
return htmlTree;
}
/**

View file

@ -935,11 +935,10 @@ public class Navigation {
String reset = "reset";
HtmlTree inputText = HtmlTree.INPUT("text", searchValueId, searchValueId);
HtmlTree inputReset = HtmlTree.INPUT(reset, reset, reset);
HtmlTree liInput = HtmlTree.LI(HtmlTree.LABEL(searchValueId, searchLabel));
liInput.add(inputText);
liInput.add(inputReset);
HtmlTree ulSearch = HtmlTree.UL(HtmlStyle.navListSearch, liInput);
tree.add(ulSearch);
HtmlTree searchDiv = HtmlTree.DIV(HtmlStyle.navListSearch, HtmlTree.LABEL(searchValueId, searchLabel));
searchDiv.add(inputText);
searchDiv.add(inputReset);
tree.add(searchDiv);
}
private void addFixedNavScript(Content tree) {

View file

@ -62,10 +62,8 @@ public interface AnnotationTypeFieldWriter {
* Add the annotation type details tree header.
*
* @param typeElement the annotation type being documented
* @param memberDetailsTree the content tree representing member details
*/
public void addAnnotationDetailsTreeHeader(TypeElement typeElement,
Content memberDetailsTree);
public Content getAnnotationDetailsTreeHeader(TypeElement typeElement);
/**
* Get the annotation type documentation tree header.
@ -79,10 +77,11 @@ public interface AnnotationTypeFieldWriter {
/**
* Get the annotation type details tree.
*
* @param annotationDetailsTreeHeader the content tree representing annotation type details header
* @param annotationDetailsTree the content tree representing annotation type details
* @return content tree for the annotation type details
*/
public Content getAnnotationDetails(Content annotationDetailsTree);
public Content getAnnotationDetails(Content annotationDetailsTreeHeader, Content annotationDetailsTree);
/**
* Get the annotation type documentation.

View file

@ -61,10 +61,8 @@ public interface AnnotationTypeRequiredMemberWriter {
* Add the annotation type details tree header.
*
* @param typeElement the annotation type being documented
* @param memberDetailsTree the content tree representing member details
*/
public void addAnnotationDetailsTreeHeader(TypeElement typeElement,
Content memberDetailsTree);
public Content getAnnotationDetailsTreeHeader(TypeElement typeElement);
/**
* Get the annotation type documentation tree header.
@ -79,10 +77,11 @@ public interface AnnotationTypeRequiredMemberWriter {
/**
* Get the annotation type details tree.
*
* @param annotationDetailsTreeHeader the content tree representing annotation type details header
* @param annotationDetailsTree the content tree representing annotation type details
* @return content tree for the annotation type details
*/
public Content getAnnotationDetails(Content annotationDetailsTree);
public Content getAnnotationDetails(Content annotationDetailsTreeHeader, Content annotationDetailsTree);
/**
* Get the annotation type documentation.

View file

@ -99,10 +99,11 @@ public interface ConstructorWriter {
/**
* Get the constructor details tree.
*
* memberDetailsTreeHeader the content tree representing member details header
* @param memberDetailsTree the content tree representing member details
* @return content tree for the constructor details
*/
public Content getConstructorDetails(Content memberDetailsTree);
public Content getConstructorDetails(Content memberDetailsTreeHeader, Content memberDetailsTree);
/**
* Get the constructor documentation.
@ -119,4 +120,11 @@ public interface ConstructorWriter {
* @param foundNonPubConstructor true if we found a non public constructor.
*/
public void setFoundNonPubConstructor(boolean foundNonPubConstructor);
/**
* Gets the member header tree.
*
* @return a content tree for the member header
*/
public Content getMemberTreeHeader();
}

View file

@ -102,7 +102,7 @@ public interface EnumConstantWriter {
* @param memberDetailsTree the content tree representing member details
* @return content tree for the enum constant details
*/
public Content getEnumConstantsDetails(Content memberDetailsTree);
public Content getEnumConstantsDetails(Content memberDetailsTreeHeader, Content memberDetailsTree);
/**
* Get the enum constants documentation.
@ -112,4 +112,11 @@ public interface EnumConstantWriter {
* @return content tree for the enum constants documentation
*/
public Content getEnumConstants(Content enumConstantsTree, boolean isLastContent);
/**
* Gets the member header tree.
*
* @return a content tree for the member header
*/
public Content getMemberTreeHeader();
}

View file

@ -100,10 +100,11 @@ public interface FieldWriter {
/**
* Get the field details tree.
*
* @param memberDetailsTreeHeader the content tree representing member details tree header
* @param memberDetailsTree the content tree representing member details
* @return content tree for the field details
*/
public Content getFieldDetails(Content memberDetailsTree);
public Content getFieldDetails(Content memberDetailsTreeHeader, Content memberDetailsTree);
/**
* Get the field documentation.
@ -113,4 +114,11 @@ public interface FieldWriter {
* @return content tree for the field documentation
*/
public Content getFieldDoc(Content fieldDocTree, boolean isLastContent);
/**
* Gets the member header tree.
*
* @return a content tree for the member header
*/
public Content getMemberTreeHeader();
}

View file

@ -101,10 +101,11 @@ public interface MethodWriter {
/**
* Get the method details tree.
*
* @param methodDetailsTreeHeader the content tree representing method details header
* @param methodDetailsTree the content tree representing method details
* @return content tree for the method details
*/
public Content getMethodDetails(Content methodDetailsTree);
public Content getMethodDetails(Content methodDetailsTreeHeader, Content methodDetailsTree);
/**
* Get the method documentation.
@ -114,4 +115,11 @@ public interface MethodWriter {
* @return content tree for the method documentation
*/
public Content getMethodDoc(Content methodDocTree, boolean isLastContent);
/**
* Gets the member header tree.
*
* @return a content tree for the member header
*/
public Content getMemberTreeHeader();
}

View file

@ -163,4 +163,11 @@ public interface PackageSummaryWriter {
*/
public abstract void printDocument(Content contentTree) throws DocFileIOException;
/**
* Gets the package summary tree.
* @param summaryContentTree the content tree representing the package summary
* @return a content tree for the package summary
*/
public abstract Content getPackageSummary(Content summaryContentTree);
}

View file

@ -99,10 +99,11 @@ public interface PropertyWriter {
/**
* Get the property details tree.
*
* @param memberDetailsTreeHeader the content tree representing member details header
* @param memberDetailsTree the content tree representing member details
* @return content tree for the property details
*/
public Content getPropertyDetails(Content memberDetailsTree);
public Content getPropertyDetails(Content memberDetailsTreeHeader, Content memberDetailsTree);
/**
* Get the property documentation.
@ -112,4 +113,11 @@ public interface PropertyWriter {
* @return content tree for the property documentation
*/
public Content getPropertyDoc(Content propertyDocTree, boolean isLastContent);
/**
* Gets the member header tree.
*
* @return a content tree for the member header
*/
public Content getMemberTreeHeader();
}

View file

@ -162,6 +162,14 @@ public interface SerializedFormWriter {
*/
public abstract void printDocument(Content serializedTree) throws DocFileIOException;
/**
* Gets the member tree.
*
* @param contentTree the tree used to generate the complete member tree
* @return a content tree for the member
*/
public Content getMemberTree(Content contentTree);
/**
* Write the serialized form for a given field.
*/

View file

@ -28,6 +28,7 @@ package jdk.javadoc.internal.doclets.toolkit.builders;
import javax.lang.model.element.PackageElement;
import javax.lang.model.element.TypeElement;
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeWriter;
import jdk.javadoc.internal.doclets.toolkit.Content;
import jdk.javadoc.internal.doclets.toolkit.DocFilesHandler;
@ -149,8 +150,7 @@ public class AnnotationTypeBuilder extends AbstractBuilder {
*/
protected void buildAnnotationTypeInfo(Content annotationContentTree)
throws DocletException {
Content annotationInfoTree = writer.getAnnotationInfoTreeHeader();
Content annotationInfoTree = new ContentBuilder();
buildAnnotationTypeSignature(annotationInfoTree);
buildDeprecationInfo(annotationInfoTree);
buildAnnotationTypeDescription(annotationInfoTree);

View file

@ -139,12 +139,12 @@ public class AnnotationTypeFieldBuilder extends AbstractMemberBuilder {
}
if (hasMembersToDocument()) {
writer.addAnnotationFieldDetailsMarker(memberDetailsTree);
Content annotationDetailsTreeHeader = writer.getAnnotationDetailsTreeHeader(typeElement);
Content detailsTree = writer.getMemberTreeHeader();
Element lastElement = members.get(members.size() - 1);
for (Element member : members) {
currentMember = member;
Content detailsTree = writer.getMemberTreeHeader();
writer.addAnnotationDetailsTreeHeader(typeElement, detailsTree);
Content annotationDocTree = writer.getAnnotationDocTreeHeader(currentMember,
detailsTree);
@ -155,8 +155,8 @@ public class AnnotationTypeFieldBuilder extends AbstractMemberBuilder {
detailsTree.add(writer.getAnnotationDoc(
annotationDocTree, currentMember == lastElement));
memberDetailsTree.add(writer.getAnnotationDetails(detailsTree));
}
memberDetailsTree.add(writer.getAnnotationDetails(annotationDetailsTreeHeader, detailsTree));
}
}

View file

@ -142,11 +142,11 @@ public class AnnotationTypeRequiredMemberBuilder extends AbstractMemberBuilder {
}
if (hasMembersToDocument()) {
writer.addAnnotationDetailsMarker(memberDetailsTree);
Content annotationDetailsTreeHeader = writer.getAnnotationDetailsTreeHeader(typeElement);
Content detailsTree = writer.getMemberTreeHeader();
Element lastMember = members.get((members.size() - 1));
for (Element member : members) {
currentMember = member;
Content detailsTree = writer.getMemberTreeHeader();
writer.addAnnotationDetailsTreeHeader(typeElement, detailsTree);
Content annotationDocTree = writer.getAnnotationDocTreeHeader(
currentMember, detailsTree);
@ -154,8 +154,8 @@ public class AnnotationTypeRequiredMemberBuilder extends AbstractMemberBuilder {
detailsTree.add(writer.getAnnotationDoc(
annotationDocTree, currentMember == lastMember));
memberDetailsTree.add(writer.getAnnotationDetails(detailsTree));
}
memberDetailsTree.add(writer.getAnnotationDetails(annotationDetailsTreeHeader, detailsTree));
}
}

View file

@ -28,6 +28,7 @@ package jdk.javadoc.internal.doclets.toolkit.builders;
import javax.lang.model.element.PackageElement;
import javax.lang.model.element.TypeElement;
import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
import jdk.javadoc.internal.doclets.toolkit.ClassWriter;
import jdk.javadoc.internal.doclets.toolkit.Content;
import jdk.javadoc.internal.doclets.toolkit.DocFilesHandler;
@ -166,8 +167,7 @@ public class ClassBuilder extends AbstractBuilder {
* @throws DocletException if there is a problem while building the documentation
*/
protected void buildClassInfo(Content classContentTree) throws DocletException {
Content classInfoTree = writer.getClassInfoTreeHeader();
Content classInfoTree = new ContentBuilder();
buildTypeParamInfo(classInfoTree);
buildSuperInterfacesInfo(classInfoTree);
buildImplementedInterfacesInfo(classInfoTree);

View file

@ -135,8 +135,9 @@ public class ConstructorBuilder extends AbstractMemberBuilder {
return;
}
if (hasMembersToDocument()) {
Content constructorDetailsTree = writer.getConstructorDetailsTreeHeader(typeElement,
Content constructorDetailsTreeHeader = writer.getConstructorDetailsTreeHeader(typeElement,
memberDetailsTree);
Content constructorDetailsTree = writer.getMemberTreeHeader();
Element lastElement = constructors.get(constructors.size() - 1);
for (Element contructor : constructors) {
@ -152,7 +153,7 @@ public class ConstructorBuilder extends AbstractMemberBuilder {
currentConstructor == lastElement));
}
memberDetailsTree.add(
writer.getConstructorDetails(constructorDetailsTree));
writer.getConstructorDetails(constructorDetailsTreeHeader, constructorDetailsTree));
}
}

View file

@ -123,8 +123,9 @@ public class EnumConstantBuilder extends AbstractMemberBuilder {
return;
}
if (hasMembersToDocument()) {
Content enumConstantsDetailsTree = writer.getEnumConstantsDetailsTreeHeader(typeElement,
Content enumConstantsDetailsTreeHeader = writer.getEnumConstantsDetailsTreeHeader(typeElement,
memberDetailsTree);
Content enumConstantsDetailsTree = writer.getMemberTreeHeader();
Element lastElement = enumConstants.get(enumConstants.size() - 1);
for (Element enumConstant : enumConstants) {
currentElement = (VariableElement)enumConstant;
@ -140,7 +141,7 @@ public class EnumConstantBuilder extends AbstractMemberBuilder {
enumConstantsTree, currentElement == lastElement));
}
memberDetailsTree.add(
writer.getEnumConstantsDetails(enumConstantsDetailsTree));
writer.getEnumConstantsDetails(enumConstantsDetailsTreeHeader, enumConstantsDetailsTree));
}
}

View file

@ -125,7 +125,8 @@ public class FieldBuilder extends AbstractMemberBuilder {
return;
}
if (!fields.isEmpty()) {
Content fieldDetailsTree = writer.getFieldDetailsTreeHeader(typeElement, memberDetailsTree);
Content fieldDetailsTreeHeader = writer.getFieldDetailsTreeHeader(typeElement, memberDetailsTree);
Content fieldDetailsTree = writer.getMemberTreeHeader();
Element lastElement = fields.get(fields.size() - 1);
for (Element element : fields) {
@ -141,7 +142,7 @@ public class FieldBuilder extends AbstractMemberBuilder {
fieldDocTree, currentElement == lastElement));
}
memberDetailsTree.add(
writer.getFieldDetails(fieldDetailsTree));
writer.getFieldDetails(fieldDetailsTreeHeader, fieldDetailsTree));
}
}

View file

@ -465,7 +465,7 @@ public abstract class MemberSummaryBuilder extends AbstractMemberBuilder {
Content linksTree = writer.getInheritedSummaryLinksTree();
addSummaryFootNote(inheritedClass, inheritedMembers, linksTree, writer);
inheritedTree.add(linksTree);
summaryTreeList.add(writer.getMemberTree(inheritedTree));
summaryTreeList.add(inheritedTree);
}
}
}

View file

@ -126,8 +126,9 @@ public class MethodBuilder extends AbstractMemberBuilder {
return;
}
if (hasMembersToDocument()) {
Content methodDetailsTree = writer.getMethodDetailsTreeHeader(typeElement,
Content methodDetailsTreeHeader = writer.getMethodDetailsTreeHeader(typeElement,
memberDetailsTree);
Content methodDetailsTree = writer.getMemberTreeHeader();
Element lastElement = methods.get(methods.size() - 1);
for (Element method : methods) {
@ -142,7 +143,7 @@ public class MethodBuilder extends AbstractMemberBuilder {
methodDetailsTree.add(writer.getMethodDoc(
methodDocTree, currentMethod == lastElement));
}
memberDetailsTree.add(writer.getMethodDetails(methodDetailsTree));
memberDetailsTree.add(writer.getMethodDetails(methodDetailsTreeHeader, methodDetailsTree));
}
}

View file

@ -163,7 +163,7 @@ public class PackageSummaryBuilder extends AbstractBuilder {
buildErrorSummary(summaryContentTree);
buildAnnotationTypeSummary(summaryContentTree);
packageContentTree.add(summaryContentTree);
packageContentTree.add(packageWriter.getPackageSummary(summaryContentTree));
}
/**

View file

@ -125,8 +125,9 @@ public class PropertyBuilder extends AbstractMemberBuilder {
return;
}
if (hasMembersToDocument()) {
Content propertyDetailsTree = writer.getPropertyDetailsTreeHeader(typeElement,
Content propertyDetailsTreeHeader = writer.getPropertyDetailsTreeHeader(typeElement,
memberDetailsTree);
Content propertyDetailsTree = writer.getMemberTreeHeader();
Element lastElement = properties.get(properties.size() - 1);
for (Element property : properties) {
currentProperty = (ExecutableElement)property;
@ -141,7 +142,7 @@ public class PropertyBuilder extends AbstractMemberBuilder {
propertyDocTree, currentProperty == lastElement));
}
memberDetailsTree.add(
writer.getPropertyDetails(propertyDetailsTree));
writer.getPropertyDetails(propertyDetailsTreeHeader, propertyDetailsTree));
}
}

View file

@ -232,7 +232,7 @@ public class SerializedFormBuilder extends AbstractBuilder {
buildSerialUIDInfo(classTree);
buildClassContent(classTree);
classSerializedTree.add(classTree);
classSerializedTree.add(writer.getMemberTree(classTree));
}
}
packageSerializedTree.add(classSerializedTree);

View file

@ -207,18 +207,13 @@ ul.navList li{
padding: 5px 6px;
text-transform:uppercase;
}
ul.navListSearch {
.subNav .navListSearch {
float:right;
margin:0 0 0 0;
padding:0;
padding:5px 6px;
clear:none;
}
ul.navListSearch li {
list-style:none;
float:right;
padding: 5px 6px;
text-transform:uppercase;
}
ul.navListSearch li label {
.navListSearch label {
position:relative;
right:-16px;
}
@ -304,7 +299,8 @@ body.module-declaration .blockList h2 {
margin:15px 0;
}
body.class-declaration .summary h3,
body.class-declaration .details h3 {
body.class-declaration .details h3,
body.class-declaration .summary .inheritedList h2 {
background-color:#dee3e9;
border:1px solid #d0d9e0;
margin:0 0 6px -8px;
@ -385,32 +381,11 @@ ul.blockList, ul.blockListLast {
margin:10px 0 10px 0;
padding:0;
}
ul.blockList li.blockList, ul.blockListLast li.blockList {
ul.blockList li.blockList, ul.blockList li.blockListLast {
list-style:none;
margin-bottom:15px;
line-height:1.4;
}
ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
padding:0px 20px 5px 10px;
border:1px solid #ededed;
background-color:#f8f8f8;
}
ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
padding:0 0 5px 8px;
background-color:#ffffff;
border:none;
}
ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
margin-left:0;
padding-left:0;
padding-bottom:15px;
border:none;
}
ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
list-style:none;
border-bottom:none;
padding-bottom:0;
}
table tr td dl, table tr td dl dt, table tr td dl dd {
margin-top:0;
margin-bottom:1px;
@ -787,6 +762,23 @@ ul.ui-autocomplete li {
.methodSignature {
white-space:normal;
}
.inheritedList {
margin: 10px 0 10px 0;
}
section.description {
line-height: 1.4;
}
.summary section[class$="Summary"], .details section[class$="Details"],
.classUses .detail, .serializedClassDetails {
padding: 0px 20px 5px 10px;
border: 1px solid #ededed;
background-color: #f8f8f8;
}
.inheritedList, section[class$="Details"] .detail {
padding:0 0 5px 8px;
background-color:#ffffff;
border:none;
}
/*
* Styles for user-provided tables.