src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java
changeset 59294 48b88b9c11eb
parent 54936 8c63164bd540
equal deleted inserted replaced
59293:5af9fa90cd7b 59294:48b88b9c11eb
    30 import javax.lang.model.element.ModuleElement;
    30 import javax.lang.model.element.ModuleElement;
    31 import javax.lang.model.element.PackageElement;
    31 import javax.lang.model.element.PackageElement;
    32 import javax.lang.model.element.TypeElement;
    32 import javax.lang.model.element.TypeElement;
    33 
    33 
    34 import com.sun.source.doctree.DocTree;
    34 import com.sun.source.doctree.DocTree;
       
    35 import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
    35 import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
    36 import jdk.javadoc.internal.doclets.formats.html.markup.Entity;
    36 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
    37 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
    37 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
    38 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
    38 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
    39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
    39 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
    40 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation;
    76     public AnnotationTypeWriterImpl(HtmlConfiguration configuration,
    77     public AnnotationTypeWriterImpl(HtmlConfiguration configuration,
    77             TypeElement annotationType) {
    78             TypeElement annotationType) {
    78         super(configuration, configuration.docPaths.forClass(annotationType));
    79         super(configuration, configuration.docPaths.forClass(annotationType));
    79         this.annotationType = annotationType;
    80         this.annotationType = annotationType;
    80         configuration.currentTypeElement = annotationType;
    81         configuration.currentTypeElement = annotationType;
    81         this.navBar = new Navigation(annotationType, configuration, fixedNavDiv, PageMode.CLASS, path);
    82         this.navBar = new Navigation(annotationType, configuration, PageMode.CLASS, path);
    82     }
    83     }
    83 
    84 
    84     /**
    85     /**
    85      * {@inheritDoc}
    86      * {@inheritDoc}
    86      */
    87      */
    87     @Override
    88     @Override
    88     public Content getHeader(String header) {
    89     public Content getHeader(String header) {
    89         HtmlTree bodyTree = getBody(getWindowTitle(utils.getSimpleName(annotationType)));
    90         Content headerContent = new ContentBuilder();
    90         HtmlTree htmlTree = HtmlTree.HEADER();
    91         addTop(headerContent);
    91         addTop(htmlTree);
       
    92         Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(annotationType),
    92         Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(annotationType),
    93                 contents.moduleLabel);
    93                 contents.moduleLabel);
    94         navBar.setNavLinkModule(linkContent);
    94         navBar.setNavLinkModule(linkContent);
    95         navBar.setMemberSummaryBuilder(configuration.getBuilderFactory().getMemberSummaryBuilder(this));
    95         navBar.setMemberSummaryBuilder(configuration.getBuilderFactory().getMemberSummaryBuilder(this));
    96         navBar.setUserHeader(getUserHeaderFooter(true));
    96         navBar.setUserHeader(getUserHeaderFooter(true));
    97         htmlTree.add(navBar.getContent(true));
    97         headerContent.add(navBar.getContent(true));
    98         bodyTree.add(htmlTree);
    98 
    99         bodyTree.add(MarkerComments.START_OF_CLASS_DATA);
       
   100         HtmlTree div = new HtmlTree(HtmlTag.DIV);
    99         HtmlTree div = new HtmlTree(HtmlTag.DIV);
   101         div.setStyle(HtmlStyle.header);
   100         div.setStyle(HtmlStyle.header);
   102         if (configuration.showModules) {
   101         if (configuration.showModules) {
   103             ModuleElement mdle = configuration.docEnv.getElementUtils().getModuleOf(annotationType);
   102             ModuleElement mdle = configuration.docEnv.getElementUtils().getModuleOf(annotationType);
   104             Content typeModuleLabel = HtmlTree.SPAN(HtmlStyle.moduleLabelInType, contents.moduleLabel);
   103             Content typeModuleLabel = HtmlTree.SPAN(HtmlStyle.moduleLabelInType, contents.moduleLabel);
   116             pkgNameDiv.add(pkgNameContent);
   115             pkgNameDiv.add(pkgNameContent);
   117             div.add(pkgNameDiv);
   116             div.add(pkgNameDiv);
   118         }
   117         }
   119         LinkInfoImpl linkInfo = new LinkInfoImpl(configuration,
   118         LinkInfoImpl linkInfo = new LinkInfoImpl(configuration,
   120                 LinkInfoImpl.Kind.CLASS_HEADER, annotationType);
   119                 LinkInfoImpl.Kind.CLASS_HEADER, annotationType);
   121         Content headerContent = new StringContent(header);
       
   122         Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, true,
   120         Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, true,
   123                 HtmlStyle.title, headerContent);
   121                 HtmlStyle.title, new StringContent(header));
   124         heading.add(getTypeParameterLinks(linkInfo));
   122         heading.add(getTypeParameterLinks(linkInfo));
   125         div.add(heading);
   123         div.add(heading);
   126         mainTree.add(div);
   124         bodyContents.setHeader(headerContent)
   127         return bodyTree;
   125                 .addMainContent(MarkerComments.START_OF_CLASS_DATA)
       
   126                 .addMainContent(div);
       
   127         return getBody(getWindowTitle(utils.getSimpleName(annotationType)));
   128     }
   128     }
   129 
   129 
   130     /**
   130     /**
   131      * {@inheritDoc}
   131      * {@inheritDoc}
   132      */
   132      */
   137 
   137 
   138     /**
   138     /**
   139      * {@inheritDoc}
   139      * {@inheritDoc}
   140      */
   140      */
   141     @Override
   141     @Override
   142     public void addFooter(Content contentTree) {
   142     public void addFooter() {
   143         contentTree.add(MarkerComments.END_OF_CLASS_DATA);
       
   144         Content htmlTree = HtmlTree.FOOTER();
   143         Content htmlTree = HtmlTree.FOOTER();
   145         navBar.setUserFooter(getUserHeaderFooter(false));
   144         navBar.setUserFooter(getUserHeaderFooter(false));
   146         htmlTree.add(navBar.getContent(false));
   145         htmlTree.add(navBar.getContent(false));
   147         addBottom(htmlTree);
   146         addBottom(htmlTree);
   148         contentTree.add(htmlTree);
   147         bodyContents.addMainContent(MarkerComments.END_OF_CLASS_DATA)
       
   148                     .setFooter(htmlTree);
   149     }
   149     }
   150 
   150 
   151     /**
   151     /**
   152      * {@inheritDoc}
   152      * {@inheritDoc}
   153      */
   153      */
   154     @Override
   154     @Override
   155     public void printDocument(Content contentTree) throws DocFileIOException {
   155     public void printDocument(Content contentTree) throws DocFileIOException {
   156         String description = getDescription("declaration", annotationType);
   156         String description = getDescription("declaration", annotationType);
   157         PackageElement pkg = utils.containingPackage(this.annotationType);
   157         PackageElement pkg = utils.containingPackage(this.annotationType);
   158         List<DocPath> localStylesheets = getLocalStylesheets(pkg);
   158         List<DocPath> localStylesheets = getLocalStylesheets(pkg);
       
   159         contentTree.add(bodyContents.toContent());
   159         printHtmlDocument(configuration.metakeywords.getMetaKeywords(annotationType),
   160         printHtmlDocument(configuration.metakeywords.getMetaKeywords(annotationType),
   160                 description, localStylesheets, contentTree);
   161                 description, localStylesheets, contentTree);
   161     }
   162     }
   162 
   163 
   163     /**
   164     /**