src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java
changeset 49551 0d4786e42471
parent 48759 ffa68af7da87
child 52685 6d243dcde190
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java	Mon Apr 09 04:43:03 2018 -0700
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java	Mon Apr 09 09:45:51 2018 -0700
@@ -27,16 +27,15 @@
 
 import com.sun.source.doctree.AttributeTree;
 import com.sun.source.doctree.AttributeTree.ValueKind;
-import com.sun.source.doctree.DocRootTree;
 import com.sun.source.doctree.DocTree;
 import com.sun.source.doctree.EndElementTree;
-import com.sun.source.doctree.LinkTree;
 import com.sun.source.doctree.StartElementTree;
 import com.sun.source.doctree.TextTree;
 import com.sun.source.util.SimpleDocTreeVisitor;
 import com.sun.tools.doclint.HtmlTag;
 import com.sun.tools.doclint.HtmlTag.Attr;
 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;
@@ -51,15 +50,19 @@
 import javax.lang.model.element.PackageElement;
 import javax.tools.FileObject;
 import javax.tools.JavaFileManager.Location;
+
 import java.util.Collections;
 import java.util.List;
 
+import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode;
+
 public class DocFilesHandlerImpl implements DocFilesHandler {
 
     public final Element element;
     public final Location location;
     public final DocPath  source;
     public final HtmlConfiguration configuration;
+    private Navigation navBar;
 
     /**
      * Constructor to construct the DocFilesWriter object.
@@ -171,14 +174,24 @@
         String title = getWindowTitle(docletWriter, dfElement).trim();
         HtmlTree htmlContent = docletWriter.getBody(true, title);
         docletWriter.addTop(htmlContent);
-        docletWriter.addNavLinks(true, htmlContent);
+        PackageElement pkg = (PackageElement) element;
+        this.navBar = new Navigation(pkg, configuration, docletWriter.fixedNavDiv,
+                PageMode.DOCFILE, docletWriter.path);
+        Content mdleLinkContent = docletWriter.getModuleLink(utils.elementUtils.getModuleOf(pkg),
+                docletWriter.contents.moduleLabel);
+        navBar.setNavLinkModule(mdleLinkContent);
+        Content pkgLinkContent = docletWriter.getPackageLink(pkg, docletWriter.contents.packageLabel);
+        navBar.setNavLinkPackage(pkgLinkContent);
+        navBar.setUserHeader(docletWriter.getUserHeaderFooter(true));
+        htmlContent.addContent(navBar.getContent(true));
         List<? extends DocTree> fullBody = utils.getFullBody(dfElement);
         Content bodyContent = docletWriter.commentTagsToContent(null, dfElement, fullBody, false);
 
         docletWriter.addTagsInfo(dfElement, bodyContent);
         htmlContent.addContent(bodyContent);
 
-        docletWriter.addNavLinks(false, htmlContent);
+        navBar.setUserFooter(docletWriter.getUserHeaderFooter(false));
+        htmlContent.addContent(navBar.getContent(false));
         docletWriter.addBottom(htmlContent);
         docletWriter.printHtmlDocument(Collections.emptyList(), false, htmlContent);
         return true;
@@ -301,31 +314,5 @@
                     throw new AssertionError("unsupported element: " + e.getKind());
             }
         }
-
-        /**
-         * Get the module link.
-         *
-         * @return a content tree for the module link
-         */
-        @Override
-        protected Content getNavLinkModule() {
-            Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(pkg),
-                    contents.moduleLabel);
-            Content li = HtmlTree.LI(linkContent);
-            return li;
-        }
-
-        /**
-         * Get this package link.
-         *
-         * @return a content tree for the package link
-         */
-        @Override
-        protected Content getNavLinkPackage() {
-            Content linkContent = getPackageLink(pkg,
-                    contents.packageLabel);
-            Content li = HtmlTree.LI(linkContent);
-            return li;
-        }
     }
 }