changeset 2164:ef4ac41874cf

8000673: remove dead code from HtmlWriter and subtypes Reviewed-by: bpatel
author jjg
date Tue, 17 Jan 2017 20:49:37 +0000
parents 3114d240cf64
children e8688b6f4d38
files src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java
diffstat 9 files changed, 43 insertions(+), 2234 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java	Wed Oct 10 18:34:46 2012 -0700
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java	Tue Jan 17 20:49:37 2017 +0000
@@ -181,23 +181,6 @@
      */
     protected abstract void addNavDetailLink(boolean link, Content liNav);
 
-    /***  ***/
-
-    protected void print(String str) {
-        writer.print(str);
-        writer.displayLength += str.length();
-    }
-
-    protected void print(char ch) {
-        writer.print(ch);
-        writer.displayLength++;
-    }
-
-    protected void strong(String str) {
-        writer.strong(str);
-        writer.displayLength += str.length();
-    }
-
     /**
      * Add the member name to the content tree and modifies the display length.
      *
@@ -304,23 +287,6 @@
         tdSummaryType.addContent(code);
     }
 
-    private void printModifier(ProgramElementDoc member) {
-        if (member.isProtected()) {
-            print("protected ");
-        } else if (member.isPrivate()) {
-            print("private ");
-        } else if (!member.isPublic()) { // Package private
-            writer.printText("doclet.Package_private");
-            print(" ");
-        }
-        if (member.isMethod() && ((MethodDoc)member).isAbstract()) {
-            print("abstract ");
-        }
-        if (member.isStatic()) {
-            print("static");
-        }
-    }
-
     /**
      * Add the modifier for the member.
      *
--- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Wed Oct 10 18:34:46 2012 -0700
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Tue Jan 17 20:49:37 2017 +0000
@@ -201,33 +201,6 @@
     }
 
     /**
-     * Print Html Hyper Link, with target frame.  This
-     * link will only appear if page is not in a frame.
-     *
-     * @param link String name of the file.
-     * @param where Position in the file
-     * @param target Name of the target frame.
-     * @param label Tag for the link.
-     * @param strong Whether the label should be strong or not?
-     */
-    public void printNoFramesTargetHyperLink(String link, String where,
-                                               String target, String label,
-                                               boolean strong) {
-        script();
-        println("  <!--");
-        println("  if(window==top) {");
-        println("    document.writeln('"
-            + getHyperLinkString(link, where, label, strong, "", "", target) + "');");
-        println("  }");
-        println("  //-->");
-        scriptEnd();
-        noScript();
-        println("  " + getHyperLinkString(link, where, label, strong, "", "", target));
-        noScriptEnd();
-        println(DocletConstants.NL);
-    }
-
-    /**
      * Get the script to show or hide the All classes link.
      *
      * @param id id of the element to show or hide
@@ -324,14 +297,6 @@
         return new TagletWriterImpl(this, isFirstSentence);
     }
 
-    protected void printTagsInfoHeader() {
-        dl();
-    }
-
-    protected void printTagsInfoFooter() {
-        dlEnd();
-    }
-
     /**
      * Get Package link, with target frame.
      *
@@ -386,7 +351,7 @@
                 head, body);
         Content htmlDocument = new HtmlDocument(htmlDocType,
                 htmlComment, htmlTree);
-        htmlDocument.write(this, true);
+        write(htmlDocument);
     }
 
     /**
@@ -403,26 +368,6 @@
     }
 
     /**
-     * Print user specified header and the footer.
-     *
-     * @param header if true print the user provided header else print the
-     * user provided footer.
-     */
-    public void printUserHeaderFooter(boolean header) {
-        em();
-        if (header) {
-            print(replaceDocRootDir(configuration.header));
-        } else {
-            if (configuration.footer.length() != 0) {
-                print(replaceDocRootDir(configuration.footer));
-            } else {
-                print(replaceDocRootDir(configuration.header));
-            }
-        }
-        emEnd();
-    }
-
-    /**
      * Get user specified header and the footer.
      *
      * @param header if true print the user provided header else print the
@@ -445,14 +390,6 @@
     }
 
     /**
-     * Print the user specified top.
-     */
-    public void printTop() {
-        print(replaceDocRootDir(configuration.top));
-        hr();
-    }
-
-    /**
      * Adds the user specified top.
      *
      * @param body the content tree to which user specified top will be added
@@ -463,14 +400,6 @@
     }
 
     /**
-     * Print the user specified bottom.
-     */
-    public void printBottom() {
-        hr();
-        print(replaceDocRootDir(configuration.bottom));
-    }
-
-    /**
      * Adds the user specified bottom.
      *
      * @param body the content tree to which user specified bottom will be added
@@ -483,128 +412,6 @@
     }
 
     /**
-     * Print the navigation bar for the Html page at the top and and the bottom.
-     *
-     * @param header If true print navigation bar at the top of the page else
-     * print the nevigation bar at the bottom.
-     */
-    protected void navLinks(boolean header) {
-        println("");
-        if (!configuration.nonavbar) {
-            if (header) {
-                println(DocletConstants.NL + "<!-- ========= START OF TOP NAVBAR ======= -->");
-                anchor("navbar_top");
-                println();
-                print(getHyperLinkString("", "skip-navbar_top", "", false, "",
-                    configuration.getText("doclet.Skip_navigation_links"), ""));
-            } else {
-                println(DocletConstants.NL + "<!-- ======= START OF BOTTOM NAVBAR ====== -->");
-                anchor("navbar_bottom");
-                println();
-                print(getHyperLinkString("", "skip-navbar_bottom", "", false, "",
-                    configuration.getText("doclet.Skip_navigation_links"), ""));
-            }
-            table(0, "100%", 1, 0);
-            tr();
-            tdColspanBgcolorStyle(2, "#EEEEFF", "NavBarCell1");
-            println("");
-            if (header) {
-                anchor("navbar_top_firstrow");
-            } else {
-                anchor("navbar_bottom_firstrow");
-            }
-            table(0, 0, 3);
-            print("  ");
-            trAlignVAlign("center", "top");
-
-            if (configuration.createoverview) {
-                navLinkContents();
-            }
-
-            if (configuration.packages.length == 1) {
-                navLinkPackage(configuration.packages[0]);
-            } else if (configuration.packages.length > 1) {
-                navLinkPackage();
-            }
-
-            navLinkClass();
-
-            if(configuration.classuse) {
-                navLinkClassUse();
-            }
-            if(configuration.createtree) {
-                navLinkTree();
-            }
-            if(!(configuration.nodeprecated ||
-                     configuration.nodeprecatedlist)) {
-                navLinkDeprecated();
-            }
-            if(configuration.createindex) {
-                navLinkIndex();
-            }
-            if (!configuration.nohelp) {
-                navLinkHelp();
-            }
-            print("  ");
-            trEnd();
-            tableEnd();
-            tdEnd();
-
-            tdAlignVAlignRowspan("right", "top", 3);
-
-            printUserHeaderFooter(header);
-            tdEnd();
-            trEnd();
-            println("");
-
-            tr();
-            tdBgcolorStyle("white", "NavBarCell2");
-            font("-2");
-            space();
-            navLinkPrevious();
-            space();
-            println("");
-            space();
-            navLinkNext();
-            fontEnd();
-            tdEnd();
-
-            tdBgcolorStyle("white", "NavBarCell2");
-            font("-2");
-            print("  ");
-            navShowLists();
-            print("  ");
-            space();
-            println("");
-            space();
-            navHideLists(filename);
-            print("  ");
-            space();
-            println("");
-            space();
-            navLinkClassIndex();
-            fontEnd();
-            tdEnd();
-
-            trEnd();
-
-            printSummaryDetailLinks();
-
-            tableEnd();
-            if (header) {
-                aName("skip-navbar_top");
-                aEnd();
-                println(DocletConstants.NL + "<!-- ========= END OF TOP NAVBAR ========= -->");
-            } else {
-                aName("skip-navbar_bottom");
-                aEnd();
-                println(DocletConstants.NL + "<!-- ======== END OF BOTTOM NAVBAR ======= -->");
-            }
-            println("");
-        }
-    }
-
-    /**
      * Adds the navigation bar for the Html page at the top and and the bottom.
      *
      * @param header If true print navigation bar at the top of the page else
@@ -697,14 +504,6 @@
     }
 
     /**
-     * Print the word "NEXT" to indicate that no link is available.  Override
-     * this method to customize next link.
-     */
-    protected void navLinkNext() {
-        navLinkNext(null);
-    }
-
-    /**
      * Get the word "NEXT" to indicate that no link is available.  Override
      * this method to customize next link.
      *
@@ -715,14 +514,6 @@
     }
 
     /**
-     * Print the word "PREV" to indicate that no link is available.  Override
-     * this method to customize prev link.
-     */
-    protected void navLinkPrevious() {
-        navLinkPrevious(null);
-    }
-
-    /**
      * Get the word "PREV" to indicate that no link is available.  Override
      * this method to customize prev link.
      *
@@ -735,26 +526,10 @@
     /**
      * Do nothing. This is the default method.
      */
-    protected void printSummaryDetailLinks() {
-    }
-
-    /**
-     * Do nothing. This is the default method.
-     */
     protected void addSummaryDetailLinks(Content navDiv) {
     }
 
     /**
-     * Print link to the "overview-summary.html" page.
-     */
-    protected void navLinkContents() {
-        navCellStart();
-        printHyperLink(relativePath + "overview-summary.html", "",
-                       configuration.getText("doclet.Overview"), true, "NavBarFont1");
-        navCellEnd();
-    }
-
-    /**
      * Get link to the "overview-summary.html" page.
      *
      * @return a content tree for the link
@@ -767,46 +542,6 @@
     }
 
     /**
-     * Description for a cell in the navigation bar.
-     */
-    protected void navCellStart() {
-        print("  ");
-        tdBgcolorStyle("#EEEEFF", "NavBarCell1");
-        print("    ");
-    }
-
-    /**
-     * Description for a cell in the navigation bar, but with reverse
-     * high-light effect.
-     */
-    protected void navCellRevStart() {
-        print("  ");
-        tdBgcolorStyle("#FFFFFF", "NavBarCell1Rev");
-        print(" ");
-        space();
-    }
-
-    /**
-     * Closing tag for navigation bar cell.
-     */
-    protected void navCellEnd() {
-        space();
-        tdEnd();
-    }
-
-    /**
-     * Print link to the "package-summary.html" page for the package passed.
-     *
-     * @param pkg Package to which link will be generated.
-     */
-    protected void navLinkPackage(PackageDoc pkg) {
-        navCellStart();
-        printPackageLink(pkg, configuration.getText("doclet.Package"), true,
-            "NavBarFont1");
-        navCellEnd();
-    }
-
-    /**
      * Get link to the "package-summary.html" page for the package passed.
      *
      * @param pkg Package to which link will be generated
@@ -820,18 +555,6 @@
     }
 
     /**
-     * Print the word "Package" in the navigation bar cell, to indicate that
-     * link is not available here.
-     */
-    protected void navLinkPackage() {
-        navCellStart();
-        fontStyle("NavBarFont1");
-        printText("doclet.Package");
-        fontEnd();
-        navCellEnd();
-    }
-
-    /**
      * Get the word "Package" , to indicate that link is not available here.
      *
      * @return a content tree for the link
@@ -842,18 +565,6 @@
     }
 
     /**
-     * Print the word "Use" in the navigation bar cell, to indicate that link
-     * is not available.
-     */
-    protected void navLinkClassUse() {
-        navCellStart();
-        fontStyle("NavBarFont1");
-        printText("doclet.navClassUse");
-        fontEnd();
-        navCellEnd();
-    }
-
-    /**
      * Get the word "Use", to indicate that link is not available.
      *
      * @return a content tree for the link
@@ -864,20 +575,6 @@
     }
 
     /**
-     * Print link for previous file.
-     *
-     * @param prev File name for the prev link.
-     */
-    public void navLinkPrevious(String prev) {
-        String tag = configuration.getText("doclet.Prev");
-        if (prev != null) {
-            printHyperLink(prev, "", tag, true) ;
-        } else {
-            print(tag);
-        }
-    }
-
-    /**
      * Get link for previous file.
      *
      * @param prev File name for the prev link
@@ -894,21 +591,6 @@
     }
 
     /**
-     * Print link for next file.  If next is null, just print the label
-     * without linking it anywhere.
-     *
-     * @param next File name for the next link.
-     */
-    public void navLinkNext(String next) {
-        String tag = configuration.getText("doclet.Next");
-        if (next != null) {
-            printHyperLink(next, "", tag, true);
-        } else {
-            print(tag);
-        }
-    }
-
-    /**
      * Get link for next file.  If next is null, just print the label
      * without linking it anywhere.
      *
@@ -926,16 +608,6 @@
     }
 
     /**
-     * Print "FRAMES" link, to switch to the frame version of the output.
-     *
-     * @param link File to be linked, "index.html".
-     */
-    protected void navShowLists(String link) {
-        print(getHyperLinkString(link + "?" + path + filename, "",
-            configuration.getText("doclet.FRAMES"), true, "", "", "_top"));
-    }
-
-    /**
      * Get "FRAMES" link, to switch to the frame version of the output.
      *
      * @param link File to be linked, "index.html"
@@ -949,13 +621,6 @@
     }
 
     /**
-     * Print "FRAMES" link, to switch to the frame version of the output.
-     */
-    protected void navShowLists() {
-        navShowLists(relativePath + "index.html");
-    }
-
-    /**
      * Get "FRAMES" link, to switch to the frame version of the output.
      *
      * @return a content tree for the link
@@ -965,16 +630,6 @@
     }
 
     /**
-     * Print "NO FRAMES" link, to switch to the non-frame version of the output.
-     *
-     * @param link File to be linked.
-     */
-    protected void navHideLists(String link) {
-        print(getHyperLinkString(link, "", configuration.getText("doclet.NO_FRAMES"),
-            true, "", "", "_top"));
-    }
-
-    /**
      * Get "NO FRAMES" link, to switch to the non-frame version of the output.
      *
      * @param link File to be linked
@@ -987,25 +642,6 @@
     }
 
     /**
-     * Print "Tree" link in the navigation bar. If there is only one package
-     * specified on the command line, then the "Tree" link will be to the
-     * only "package-tree.html" file otherwise it will be to the
-     * "overview-tree.html" file.
-     */
-    protected void navLinkTree() {
-        navCellStart();
-        PackageDoc[] packages = configuration.root.specifiedPackages();
-        if (packages.length == 1 && configuration.root.specifiedClasses().length == 0) {
-            printHyperLink(pathString(packages[0], "package-tree.html"), "",
-                           configuration.getText("doclet.Tree"), true, "NavBarFont1");
-        } else {
-            printHyperLink(relativePath + "overview-tree.html", "",
-                           configuration.getText("doclet.Tree"), true, "NavBarFont1");
-        }
-        navCellEnd();
-    }
-
-    /**
      * Get "Tree" link in the navigation bar. If there is only one package
      * specified on the command line, then the "Tree" link will be to the
      * only "package-tree.html" file otherwise it will be to the
@@ -1042,18 +678,6 @@
     }
 
     /**
-     * Print the word "Class" in the navigation bar cell, to indicate that
-     * class link is not available.
-     */
-    protected void navLinkClass() {
-        navCellStart();
-        fontStyle("NavBarFont1");
-        printText("doclet.Class");
-        fontEnd();
-        navCellEnd();
-    }
-
-    /**
      * Get the word "Class", to indicate that class link is not available.
      *
      * @return a content tree for the link
@@ -1064,16 +688,6 @@
     }
 
     /**
-     * Print "Deprecated" API link in the navigation bar.
-     */
-    protected void navLinkDeprecated() {
-        navCellStart();
-        printHyperLink(relativePath + "deprecated-list.html", "",
-                       configuration.getText("doclet.navDeprecated"), true, "NavBarFont1");
-        navCellEnd();
-    }
-
-    /**
      * Get "Deprecated" API link in the navigation bar.
      *
      * @return a content tree for the link
@@ -1086,17 +700,6 @@
     }
 
     /**
-     * Print link for generated index. If the user has used "-splitindex"
-     * command line option, then link to file "index-files/index-1.html" is
-     * generated otherwise link to file "index-all.html" is generated.
-     */
-    protected void navLinkClassIndex() {
-        printNoFramesTargetHyperLink(relativePath +
-                AllClassesFrameWriter.OUTPUT_FILE_NAME_NOFRAMES,
-            "", "", configuration.getText("doclet.All_Classes"), true);
-    }
-
-    /**
      * Get link for generated index. If the user has used "-splitindex"
      * command line option, then link to file "index-files/index-1.html" is
      * generated otherwise link to file "index-all.html" is generated.
@@ -1110,20 +713,6 @@
         Content li = HtmlTree.LI(allClassesContent);
         return li;
     }
-    /**
-     * Print link for generated class index.
-     */
-    protected void navLinkIndex() {
-        navCellStart();
-        printHyperLink(relativePath +
-                           (configuration.splitindex?
-                                DirectoryManager.getPath("index-files") +
-                                fileseparator: "") +
-                           (configuration.splitindex?
-                                "index-1.html" : "index-all.html"), "",
-                       configuration.getText("doclet.Index"), true, "NavBarFont1");
-        navCellEnd();
-    }
 
     /**
      * Get link for generated class index.
@@ -1140,27 +729,6 @@
     }
 
     /**
-     * Print help file link. If user has provided a help file, then generate a
-     * link to the user given file, which is already copied to current or
-     * destination directory.
-     */
-    protected void navLinkHelp() {
-        String helpfilenm = configuration.helpfile;
-        if (helpfilenm.equals("")) {
-            helpfilenm = "help-doc.html";
-        } else {
-            int lastsep;
-            if ((lastsep = helpfilenm.lastIndexOf(File.separatorChar)) != -1) {
-                helpfilenm = helpfilenm.substring(lastsep + 1);
-            }
-        }
-        navCellStart();
-        printHyperLink(relativePath + helpfilenm, "",
-                       configuration.getText("doclet.Help"), true, "NavBarFont1");
-        navCellEnd();
-    }
-
-    /**
      * Get help file link. If user has provided a help file, then generate a
      * link to the user given file, which is already copied to current or
      * destination directory.
@@ -1184,87 +752,6 @@
     }
 
     /**
-     * Print the word "Detail" in the navigation bar. No link is available.
-     */
-    protected void navDetail() {
-        printText("doclet.Detail");
-    }
-
-    /**
-     * Print the word "Summary" in the navigation bar. No link is available.
-     */
-    protected void navSummary() {
-        printText("doclet.Summary");
-    }
-
-    /**
-     * Print the Html table tag for the index summary tables. The table tag
-     * printed is
-     * &lt;TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-     */
-    public void tableIndexSummary() {
-        table(1, "100%", 3, 0);
-    }
-
-    /**
-     * Print the Html table tag for the index summary tables.
-     *
-     * @param summary the summary for the table tag summary attribute.
-     */
-    public void tableIndexSummary(String summary) {
-        table(1, "100%", 3, 0, summary);
-    }
-
-    /**
-     * Same as {@link #tableIndexSummary()}.
-     */
-    public void tableIndexDetail() {
-        table(1, "100%", 3, 0);
-    }
-
-    /**
-     * Print Html tag for table elements. The tag printed is
-     * &lt;TD ALIGN="right" VALIGN="top" WIDTH="1%"&gt;.
-     */
-    public void tdIndex() {
-        print("<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\">");
-    }
-
-    /**
-     * Print table caption.
-     */
-    public void tableCaptionStart() {
-        captionStyle("TableCaption");
-    }
-
-    /**
-     * Print table sub-caption.
-     */
-    public void tableSubCaptionStart() {
-        captionStyle("TableSubCaption");
-    }
-
-    /**
-     * Print table caption end tags.
-     */
-    public void tableCaptionEnd() {
-        captionEnd();
-    }
-
-    /**
-     * Print summary table header.
-     */
-    public void summaryTableHeader(String[] header, String scope) {
-        tr();
-        for ( int i=0; i < header.length; i++ ) {
-            thScopeNoWrap("TableHeader", scope);
-            print(header[i]);
-            thEnd();
-        }
-        trEnd();
-    }
-
-    /**
      * Get summary table header.
      *
      * @param header the header for the table
@@ -1393,144 +880,6 @@
     }
 
     /**
-     * Prine table header information about color, column span and the font.
-     *
-     * @param color Background color.
-     * @param span  Column span.
-     */
-    public void tableHeaderStart(String color, int span) {
-        trBgcolorStyle(color, "TableHeadingColor");
-        thAlignColspan("left", span);
-        font("+2");
-    }
-
-    /**
-     * Print table header for the inherited members summary tables. Print the
-     * background color information.
-     *
-     * @param color Background color.
-     */
-    public void tableInheritedHeaderStart(String color) {
-        trBgcolorStyle(color, "TableSubHeadingColor");
-        thAlign("left");
-    }
-
-    /**
-     * Print "Use" table header. Print the background color and the column span.
-     *
-     * @param color Background color.
-     */
-    public void tableUseInfoHeaderStart(String color) {
-        trBgcolorStyle(color, "TableSubHeadingColor");
-        thAlignColspan("left", 2);
-    }
-
-    /**
-     * Print table header with the background color with default column span 2.
-     *
-     * @param color Background color.
-     */
-    public void tableHeaderStart(String color) {
-        tableHeaderStart(color, 2);
-    }
-
-    /**
-     * Print table header with the column span, with the default color #CCCCFF.
-     *
-     * @param span Column span.
-     */
-    public void tableHeaderStart(int span) {
-        tableHeaderStart("#CCCCFF", span);
-    }
-
-    /**
-     * Print table header with default column span 2 and default color #CCCCFF.
-     */
-    public void tableHeaderStart() {
-        tableHeaderStart(2);
-    }
-
-    /**
-     * Print table header end tags for font, column and row.
-     */
-    public void tableHeaderEnd() {
-        fontEnd();
-        thEnd();
-        trEnd();
-    }
-
-    /**
-     * Print table header end tags in inherited tables for column and row.
-     */
-    public void tableInheritedHeaderEnd() {
-        thEnd();
-        trEnd();
-    }
-
-    /**
-     * Print the summary table row cell attribute width.
-     *
-     * @param width Width of the table cell.
-     */
-    public void summaryRow(int width) {
-        if (width != 0) {
-            tdWidth(width + "%");
-        } else {
-            td();
-        }
-    }
-
-    /**
-     * Print the summary table row cell end tag.
-     */
-    public void summaryRowEnd() {
-        tdEnd();
-    }
-
-    /**
-     * Print the heading in Html &lt;H2> format.
-     *
-     * @param str The Header string.
-     */
-    public void printIndexHeading(String str) {
-        h2();
-        print(str);
-        h2End();
-    }
-
-    /**
-     * Print Html tag &lt;FRAMESET=arg&gt;.
-     *
-     * @param arg Argument for the tag.
-     */
-    public void frameSet(String arg) {
-        println("<FRAMESET " + arg + ">");
-    }
-
-    /**
-     * Print Html closing tag &lt;/FRAMESET&gt;.
-     */
-    public void frameSetEnd() {
-        println("</FRAMESET>");
-    }
-
-    /**
-     * Print Html tag &lt;FRAME=arg&gt;.
-     *
-     * @param arg Argument for the tag.
-     */
-    public void frame(String arg) {
-        println("<FRAME " + arg + ">");
-    }
-
-    /**
-     * Print Html closing tag &lt;/FRAME&gt;.
-     */
-    public void frameEnd() {
-        println("</FRAME>");
-    }
-
-    /**
      * Return path to the class page for a classdoc. For example, the class
      * name is "java.lang.Object" and if the current file getting generated is
      * "java/io/File.html", then the path string to the class, returned is
@@ -1569,30 +918,6 @@
     }
 
     /**
-     * Print the link to the given package.
-     *
-     * @param pkg the package to link to.
-     * @param label the label for the link.
-     * @param isStrong true if the label should be strong.
-     */
-    public void printPackageLink(PackageDoc pkg, String label, boolean isStrong) {
-        print(getPackageLinkString(pkg, label, isStrong));
-    }
-
-    /**
-     * Print the link to the given package.
-     *
-     * @param pkg the package to link to.
-     * @param label the label for the link.
-     * @param isStrong true if the label should be strong.
-     * @param style  the font of the package link label.
-     */
-    public void printPackageLink(PackageDoc pkg, String label, boolean isStrong,
-            String style) {
-        print(getPackageLinkString(pkg, label, isStrong, style));
-    }
-
-    /**
      * Return the link to the given package.
      *
      * @param pkg the package to link to.
@@ -1675,21 +1000,6 @@
         return (cd.isInterface())?  italicsText(name): name;
     }
 
-    public void printSrcLink(ProgramElementDoc d, String label) {
-        if (d == null) {
-            return;
-        }
-        ClassDoc cd = d.containingClass();
-        if (cd == null) {
-            //d must be a class doc since in has no containing class.
-            cd = (ClassDoc) d;
-        }
-        String href = relativePath + DocletConstants.SOURCE_OUTPUT_DIR_NAME
-            + DirectoryManager.getDirectoryPath(cd.containingPackage())
-            + cd.name() + ".html#" + SourceToHTMLConverter.getAnchorName(d);
-        printHyperLink(href, "", label, true);
-    }
-
     /**
      * Add the link to the content tree.
      *
@@ -1739,13 +1049,6 @@
             factory.getTypeParameterLinks(linkInfo, false)).toString();
     }
 
-    /**
-     * Print the link to the given class.
-     */
-    public void printLink(LinkInfoImpl linkInfo) {
-        print(getLink(linkInfo));
-    }
-
     /*************************************************************
      * Return a class cross link to external class documentation.
      * The name must be fully qualified to determine which package
@@ -1769,7 +1072,7 @@
         while((periodIndex = packageName.lastIndexOf('.')) != -1) {
             className = packageName.substring(periodIndex + 1, packageName.length()) +
                 (className.length() > 0 ? "." + className : "");
-            String defaultLabel = code ? getCode() + className + getCodeEnd() : className;
+            String defaultLabel = code ? codeText(className) : className;
             packageName = packageName.substring(0, periodIndex);
             if (getCrossPackageLink(packageName) != null) {
                 //The package exists in external documentation, so link to the external
@@ -1877,30 +1180,6 @@
         addPreQualifiedClassLink(context, cd, true, contentTree);
     }
 
-    public void printText(String key) {
-        print(configuration.getText(key));
-    }
-
-    public void printText(String key, String a1) {
-        print(configuration.getText(key, a1));
-    }
-
-    public void printText(String key, String a1, String a2) {
-        print(configuration.getText(key, a1, a2));
-    }
-
-    public void strongText(String key) {
-        strong(configuration.getText(key));
-    }
-
-    public void strongText(String key, String a1) {
-        strong(configuration.getText(key, a1));
-    }
-
-    public void strongText(String key, String a1, String a2) {
-        strong(configuration.getText(key, a1, a2));
-    }
-
     /**
      * Get the link for the given member.
      *
@@ -1914,39 +1193,6 @@
     }
 
     /**
-     * Print the link for the given member.
-     *
-     * @param context the id of the context where the link will be printed.
-     * @param classDoc the classDoc that we should link to.  This is not
-     *                 necessarily equal to doc.containingClass().  We may be
-     *                 inheriting comments.
-     * @param doc the member being linked to.
-     * @param label the label for the link.
-     * @param strong true if the link should be strong.
-     */
-    public void printDocLink(int context, ClassDoc classDoc, MemberDoc doc,
-            String label, boolean strong) {
-        printDocLink(context, classDoc, doc, label, strong, false);
-    }
-
-    /**
-     * Print the link for the given member.
-     *
-     * @param context the id of the context where the link will be printed.
-     * @param classDoc the classDoc that we should link to.  This is not
-     *                 necessarily equal to doc.containingClass().  We may be
-     *                 inheriting comments.
-     * @param doc the member being linked to.
-     * @param label the label for the link.
-     * @param strong true if the link should be strong.
-     * @param isProperty true if the doc parameter is a JavaFX property.
-     */
-    public void printDocLink(int context, ClassDoc classDoc, MemberDoc doc,
-            String label, boolean strong, boolean isProperty) {
-        print(getDocLink(context, classDoc, doc, label, strong, isProperty));
-    }
-
-    /**
      * Return the link for the given member.
      *
      * @param context the id of the context where the link will be printed.
@@ -2035,10 +1281,6 @@
         }
     }
 
-    public void anchor(ExecutableMemberDoc emd) {
-        anchor(getAnchor(emd));
-    }
-
     public String getAnchor(ExecutableMemberDoc emd) {
         return getAnchor(emd, false);
     }
@@ -2068,66 +1310,61 @@
         if (! (tagName.startsWith("@link") || tagName.equals("@see"))) {
             return "";
         }
-        StringBuffer result = new StringBuffer();
-        boolean isplaintext = tagName.toLowerCase().equals("@linkplain");
-        String label = see.label();
-        label = (label.length() > 0)?
-            ((isplaintext) ? label :
-                 getCode() + label + getCodeEnd()):"";
+
         String seetext = replaceDocRootDir(see.text());
 
         //Check if @see is an href or "string"
         if (seetext.startsWith("<") || seetext.startsWith("\"")) {
-            result.append(seetext);
-            return result.toString();
+            return seetext;
         }
 
+        boolean plain = tagName.equalsIgnoreCase("@linkplain");
+        String label = plainOrCodeText(plain, see.label());
+
         //The text from the @see tag.  We will output this text when a label is not specified.
-        String text = (isplaintext) ? seetext : getCode() + seetext + getCodeEnd();
+        String text = plainOrCodeText(plain, seetext);
 
         ClassDoc refClass = see.referencedClass();
         String refClassName = see.referencedClassName();
         MemberDoc refMem = see.referencedMember();
         String refMemName = see.referencedMemberName();
+
         if (refClass == null) {
             //@see is not referencing an included class
             PackageDoc refPackage = see.referencedPackage();
             if (refPackage != null && refPackage.isIncluded()) {
                 //@see is referencing an included package
-                String packageName = isplaintext ? refPackage.name() :
-                    getCode() + refPackage.name() + getCodeEnd();
-                result.append(getPackageLinkString(refPackage,
-                    label.length() == 0 ? packageName : label, false));
+                if (label.isEmpty())
+                    label = plainOrCodeText(plain, refPackage.name());
+                return getPackageLinkString(refPackage, label, false);
             } else {
                 //@see is not referencing an included class or package.  Check for cross links.
                 String classCrossLink, packageCrossLink = getCrossPackageLink(refClassName);
                 if (packageCrossLink != null) {
                     //Package cross link found
-                    result.append(getHyperLinkString(packageCrossLink, "",
-                        (label.length() == 0)? text : label, false));
+                    return getHyperLinkString(packageCrossLink, "",
+                        (label.isEmpty() ? text : label), false);
                 } else if ((classCrossLink = getCrossClassLink(refClassName,
-                        refMemName, label, false, "", ! isplaintext)) != null) {
-                    //Class cross link found (possiblly to a member in the class)
-                    result.append(classCrossLink);
+                        refMemName, label, false, "", !plain)) != null) {
+                    //Class cross link found (possibly to a member in the class)
+                    return classCrossLink;
                 } else {
                     //No cross link found so print warning
                     configuration.getDocletSpecificMsg().warning(see.position(), "doclet.see.class_or_package_not_found",
                             tagName, seetext);
-                    result.append((label.length() == 0)? text: label);
+                    return (label.isEmpty() ? text: label);
                 }
             }
         } else if (refMemName == null) {
             // Must be a class reference since refClass is not null and refMemName is null.
-            if (label.length() == 0) {
-                label = (isplaintext) ? refClass.name() : getCode() + refClass.name() + getCodeEnd();
-                result.append(getLink(new LinkInfoImpl(refClass, label)));
-            } else {
-                result.append(getLink(new LinkInfoImpl(refClass, label)));
+            if (label.isEmpty()) {
+                label = plainOrCodeText(plain, refClass.name());
             }
+            return getLink(new LinkInfoImpl(refClass, label));
         } else if (refMem == null) {
             // Must be a member reference since refClass is not null and refMemName is not null.
             // However, refMem is null, so this referenced member does not exist.
-            result.append((label.length() == 0)? text: label);
+            return (label.isEmpty() ? text: label);
         } else {
             // Must be a member reference since refClass is not null and refMemName is not null.
             // refMem is not null, so this @see tag must be referencing a valid member.
@@ -2166,17 +1403,16 @@
                 }
             }
 
-            text = (isplaintext) ?
-                refMemName : getCode() + Util.escapeHtmlChars(refMemName) + getCodeEnd();
+
+            text = plainOrCodeText(plain, Util.escapeHtmlChars(refMemName));
 
-            result.append(getDocLink(LinkInfoImpl.CONTEXT_SEE_TAG, containing,
-                refMem, (label.length() == 0)? text: label, false));
+            return getDocLink(LinkInfoImpl.CONTEXT_SEE_TAG, containing,
+                refMem, (label.isEmpty() ? text: label), false);
         }
-        return result.toString();
     }
 
-    public void printInlineComment(Doc doc, Tag tag) {
-        printCommentTags(doc, tag.inlineTags(), false, false);
+    private String plainOrCodeText(boolean plain, String text) {
+        return (plain || text.isEmpty()) ? text : codeText(text);
     }
 
     /**
@@ -2190,10 +1426,6 @@
         addCommentTags(doc, tag.inlineTags(), false, false, htmltree);
     }
 
-    public void printInlineDeprecatedComment(Doc doc, Tag tag) {
-        printCommentTags(doc, tag.inlineTags(), true, false);
-    }
-
     /**
      * Add the inline deprecated comment.
      *
@@ -2205,10 +1437,6 @@
         addCommentTags(doc, tag.inlineTags(), true, false, htmltree);
     }
 
-    public void printSummaryComment(Doc doc) {
-        printSummaryComment(doc, doc.firstSentenceTags());
-    }
-
     /**
      * Adds the summary content.
      *
@@ -2219,10 +1447,6 @@
         addSummaryComment(doc, doc.firstSentenceTags(), htmltree);
     }
 
-    public void printSummaryComment(Doc doc, Tag[] firstSentenceTags) {
-        printCommentTags(doc, firstSentenceTags, false, true);
-    }
-
     /**
      * Adds the summary content.
      *
@@ -2234,23 +1458,10 @@
         addCommentTags(doc, firstSentenceTags, false, true, htmltree);
     }
 
-    public void printSummaryDeprecatedComment(Doc doc) {
-        printCommentTags(doc, doc.firstSentenceTags(), true, true);
-    }
-
-    public void printSummaryDeprecatedComment(Doc doc, Tag tag) {
-        printCommentTags(doc, tag.firstSentenceTags(), true, true);
-    }
-
     public void addSummaryDeprecatedComment(Doc doc, Tag tag, Content htmltree) {
         addCommentTags(doc, tag.firstSentenceTags(), true, true, htmltree);
     }
 
-    public void printInlineComment(Doc doc) {
-        printCommentTags(doc, doc.inlineTags(), false, false);
-        p();
-    }
-
     /**
      * Adds the inline comment.
      *
@@ -2261,27 +1472,6 @@
         addCommentTags(doc, doc.inlineTags(), false, false, htmltree);
     }
 
-    public void printInlineDeprecatedComment(Doc doc) {
-        printCommentTags(doc, doc.inlineTags(), true, false);
-    }
-
-    private void printCommentTags(Doc doc, Tag[] tags, boolean depr, boolean first) {
-        if(configuration.nocomment){
-            return;
-        }
-        if (depr) {
-            italic();
-        }
-        String result = commentTagsToString(null, doc, tags, first);
-        print(result);
-        if (depr) {
-            italicEnd();
-        }
-        if (tags.length == 0) {
-            space();
-        }
-    }
-
     /**
      * Adds the comment tags.
      *
@@ -2546,22 +1736,6 @@
         }
     }
 
-    public void printStyleSheetProperties() {
-        String filename = configuration.stylesheetfile;
-        if (filename.length() > 0) {
-            File stylefile = new File(filename);
-            String parent = stylefile.getParent();
-            filename = (parent == null)?
-                filename:
-                filename.substring(parent.length() + 1);
-        } else {
-            filename = "stylesheet.css";
-        }
-        filename = relativePath + filename;
-        link("REL =\"stylesheet\" TYPE=\"text/css\" HREF=\"" +
-                 filename + "\" " + "TITLE=\"Style\"");
-    }
-
     /**
      * Returns a link to the stylesheet file.
      *
@@ -2593,15 +1767,6 @@
     }
 
     /**
-     * Write the annotatation types for the given packageDoc.
-     *
-     * @param packageDoc the package to write annotations for.
-     */
-    public void writeAnnotationInfo(PackageDoc packageDoc) {
-        writeAnnotationInfo(packageDoc, packageDoc.annotations());
-    }
-
-    /**
      * Adds the annotatation types for the given packageDoc.
      *
      * @param packageDoc the package to write annotations for.
@@ -2613,15 +1778,6 @@
     }
 
     /**
-     * Write the annotatation types for the given doc.
-     *
-     * @param doc the doc to write annotations for.
-     */
-    public void writeAnnotationInfo(ProgramElementDoc doc) {
-        writeAnnotationInfo(doc, doc.annotations());
-    }
-
-    /**
      * Adds the annotatation types for the given doc.
      *
      * @param packageDoc the package to write annotations for
@@ -2632,17 +1788,6 @@
     }
 
     /**
-     * Write the annotatation types for the given doc and parameter.
-     *
-     * @param indent the number of spaced to indent the parameters.
-     * @param doc the doc to write annotations for.
-     * @param param the parameter to write annotations for.
-     */
-    public boolean writeAnnotationInfo(int indent, Doc doc, Parameter param) {
-        return writeAnnotationInfo(indent, doc, param.annotations(), false);
-    }
-
-    /**
      * Add the annotatation types for the given doc and parameter.
      *
      * @param indent the number of spaces to indent the parameters.
@@ -2656,16 +1801,6 @@
     }
 
     /**
-     * Write the annotatation types for the given doc.
-     *
-     * @param doc the doc to write annotations for.
-     * @param descList the array of {@link AnnotationDesc}.
-     */
-    private void writeAnnotationInfo(Doc doc, AnnotationDesc[] descList) {
-        writeAnnotationInfo(0, doc, descList, true);
-    }
-
-    /**
      * Adds the annotatation types for the given doc.
      *
      * @param doc the doc to write annotations for.
@@ -2679,26 +1814,6 @@
     }
 
     /**
-     * Write the annotatation types for the given doc.
-     *
-     * @param indent the number of extra spaces to indent the annotations.
-     * @param doc the doc to write annotations for.
-     * @param descList the array of {@link AnnotationDesc}.
-     */
-    private boolean writeAnnotationInfo(int indent, Doc doc, AnnotationDesc[] descList, boolean lineBreak) {
-        List<String> annotations = getAnnotations(indent, descList, lineBreak);
-        if (annotations.size() == 0) {
-            return false;
-        }
-        fontNoNewLine("-1");
-        for (Iterator<String> iter = annotations.iterator(); iter.hasNext();) {
-            print(iter.next());
-        }
-        fontEnd();
-        return true;
-    }
-
-    /**
      * Adds the annotatation types for the given doc.
      *
      * @param indent the number of extra spaces to indent the annotations.
--- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java	Wed Oct 10 18:34:46 2012 -0700
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java	Tue Jan 17 20:49:37 2017 +0000
@@ -55,18 +55,6 @@
         return Arrays.asList(cd.serializableFields());
     }
 
-    protected void printTypeLinkNoDimension(Type type) {
-        ClassDoc cd = type.asClassDoc();
-        //Linking to package private classes in serialized for causes
-        //broken links.  Don't link to them.
-        if (type.isPrimitive() || cd.isPackagePrivate()) {
-            print(type.typeName());
-        } else {
-            writer.printLink(new LinkInfoImpl(
-                LinkInfoImpl.CONTEXT_SERIAL_MEMBER, type));
-        }
-    }
-
     /**
      * Return the header for serializable fields section.
      *
--- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java	Wed Oct 10 18:34:46 2012 -0700
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java	Tue Jan 17 20:49:37 2017 +0000
@@ -161,14 +161,4 @@
                 method.containingClass().qualifiedName(), method.name());
         }
     }
-
-    protected void printTypeLinkNoDimension(Type type) {
-        ClassDoc cd = type.asClassDoc();
-        if (type.isPrimitive() || cd.isPackagePrivate()) {
-            print(type.typeName());
-        } else {
-            writer.printLink(new LinkInfoImpl(
-                LinkInfoImpl.CONTEXT_SERIAL_MEMBER,type));
-        }
-    }
 }
--- a/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java	Wed Oct 10 18:34:46 2012 -0700
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java	Tue Jan 17 20:49:37 2017 +0000
@@ -212,16 +212,6 @@
         printHtmlDocument(null, true, serializedTree);
     }
 
-    private void tableHeader() {
-        tableIndexSummary();
-        trBgcolorStyle("#CCCCFF", "TableSubHeadingColor");
-    }
-
-    private void tableFooter() {
-        fontEnd();
-        thEnd(); trEnd(); tableEnd();
-    }
-
     /**
      * Return an instance of a SerialFieldWriter.
      *
--- a/src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java	Wed Oct 10 18:34:46 2012 -0700
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java	Tue Jan 17 20:49:37 2017 +0000
@@ -60,18 +60,6 @@
         super(configuration, path, filename, relpath);
     }
 
-    public void printTypeSummaryHeader() {
-        tdIndex();
-        font("-1");
-        code();
-    }
-
-    public void printTypeSummaryFooter() {
-        codeEnd();
-        fontEnd();
-        tdEnd();
-    }
-
     /**
      * Add the summary header.
      *
@@ -99,14 +87,6 @@
         return table;
     }
 
-    public void printTableHeadingBackground(String str) {
-        tableIndexDetail();
-        tableHeaderStart("#CCCCFF", 1);
-        strong(str);
-        tableHeaderEnd();
-        tableEnd();
-    }
-
     /**
      * Add the inherited summary header.
      *
@@ -120,19 +100,6 @@
         mw.addInheritedSummaryLabel(cd, inheritedTree);
     }
 
-    public void printSummaryFooter(AbstractMemberWriter mw, ClassDoc cd) {
-        tableEnd();
-        space();
-    }
-
-    public void printInheritedSummaryFooter(AbstractMemberWriter mw, ClassDoc cd) {
-        codeEnd();
-        summaryRowEnd();
-        trEnd();
-        tableEnd();
-        space();
-    }
-
     /**
      * Add the index comment.
      *
@@ -143,24 +110,6 @@
         addIndexComment(member, member.firstSentenceTags(), contentTree);
     }
 
-    protected void printIndexComment(Doc member, Tag[] firstSentenceTags) {
-        Tag[] deprs = member.tags("deprecated");
-        if (Util.isDeprecated((ProgramElementDoc) member)) {
-            strongText("doclet.Deprecated");
-            space();
-            if (deprs.length > 0) {
-                printInlineDeprecatedComment(member, deprs[0]);
-            }
-            return;
-        } else {
-            ClassDoc cd = ((ProgramElementDoc)member).containingClass();
-            if (cd != null && Util.isDeprecated(cd)) {
-                strongText("doclet.Deprecated"); space();
-            }
-        }
-        printSummaryComment(member, firstSentenceTags);
-    }
-
     /**
      * Add the index comment.
      *
@@ -217,18 +166,6 @@
         addSummaryLinkComment(mw, member, member.firstSentenceTags(), contentTree);
     }
 
-    public void printSummaryLinkComment(AbstractMemberWriter mw,
-                                        ProgramElementDoc member,
-                                        Tag[] firstSentenceTags) {
-        codeEnd();
-        println();
-        br();
-        printNbsps();
-        printIndexComment(member, firstSentenceTags);
-        summaryRowEnd();
-        trEnd();
-    }
-
     /**
      * Add the summary link comment.
      *
@@ -259,13 +196,6 @@
         mw.addInheritedSummaryLink(cd, member, linksTree);
     }
 
-    public void printMemberHeader() {
-        hr();
-    }
-
-    public void printMemberFooter() {
-    }
-
     /**
      * Get the document content header tree
      *
--- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Wed Oct 10 18:34:46 2012 -0700
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Tue Jan 17 20:49:37 2017 +0000
@@ -80,48 +80,6 @@
     public abstract Configuration configuration();
 
     /**
-     * Print Html Hyper Link.
-     *
-     * @param link String name of the file.
-     * @param where Position of the link in the file. Character '#' is not
-     * needed.
-     * @param label Tag for the link.
-     * @param strong  Boolean that sets label to strong.
-     */
-    public void printHyperLink(String link, String where,
-                               String label, boolean strong) {
-        print(getHyperLinkString(link, where, label, strong, "", "", ""));
-    }
-
-    /**
-     * Print Html Hyper Link.
-     *
-     * @param link String name of the file.
-     * @param where Position of the link in the file. Character '#' is not
-     * needed.
-     * @param label Tag for the link.
-     */
-    public void printHyperLink(String link, String where, String label) {
-        printHyperLink(link, where, label, false);
-    }
-
-    /**
-     * Print Html Hyper Link.
-     *
-     * @param link       String name of the file.
-     * @param where      Position of the link in the file. Character '#' is not
-     * needed.
-     * @param label      Tag for the link.
-     * @param strong       Boolean that sets label to strong.
-     * @param stylename  String style of text defined in style sheet.
-     */
-    public void printHyperLink(String link, String where,
-                               String label, boolean strong,
-                               String stylename) {
-        print(getHyperLinkString(link, where, label, strong, stylename, "", ""));
-    }
-
-    /**
      * Return Html Hyper Link string.
      *
      * @param link       String name of the file.
@@ -268,15 +226,6 @@
     }
 
     /**
-     * Print the name of the package, this class is in.
-     *
-     * @param cd    ClassDoc.
-     */
-    public void printPkgName(ClassDoc cd) {
-        print(getPkgName(cd));
-    }
-
-    /**
      * Get the name of the package, this class is in.
      *
      * @param cd    ClassDoc.
@@ -290,27 +239,6 @@
         return "";
     }
 
-    /**
-     * Keep track of member details list. Print the definition list start tag
-     * if it is not printed yet.
-     */
-    public void printMemberDetailsListStartTag () {
-        if (!getMemberDetailsListPrinted()) {
-            dl();
-            memberDetailsListPrinted = true;
-        }
-    }
-
-    /**
-     * Print the definition list end tag if the list start tag was printed.
-     */
-    public void printMemberDetailsListEndTag () {
-        if (getMemberDetailsListPrinted()) {
-            dlEnd();
-            memberDetailsListPrinted = false;
-        }
-    }
-
     public boolean getMemberDetailsListPrinted() {
         return memberDetailsListPrinted;
     }
@@ -344,7 +272,7 @@
                 head, frameset);
         Content htmlDocument = new HtmlDocument(htmlDocType,
                 htmlComment, htmlTree);
-        htmlDocument.write(this, true);
+        write(htmlDocument);
     }
 
     /**
@@ -361,36 +289,6 @@
         return space;
     }
 
-    /**
-     * Print the closing &lt;/body&gt; and &lt;/html&gt; tags.
-     */
-    public void printBodyHtmlEnd() {
-        println();
-        bodyEnd();
-        htmlEnd();
-    }
-
-    /**
-     * Calls {@link #printBodyHtmlEnd()} method.
-     */
-    public void printFooter() {
-        printBodyHtmlEnd();
-    }
-
-    /**
-     * Print closing &lt;/html&gt; tag.
-     */
-    public void printFrameFooter() {
-        htmlEnd();
-    }
-
-    /**
-     * Print ten non-breaking spaces("&#38;nbsp;").
-     */
-    public void printNbsps() {
-        print("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
-    }
-
     protected String getGeneratedByString() {
         Calendar calendar = new GregorianCalendar(TimeZone.getDefault());
         Date today = calendar.getTime();
--- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java	Wed Oct 10 18:34:46 2012 -0700
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java	Tue Jan 17 20:49:37 2017 +0000
@@ -32,14 +32,14 @@
 
 /**
  * Class for the Html format code generation.
- * Initilizes PrintWriter with FileWriter, to enable print
+ * Initializes PrintWriter with FileWriter, to enable print
  * related methods to generate the code to the named File through FileWriter.
  *
  * @since 1.2
  * @author Atul M Dambalkar
  * @author Bhavesh Patel (Modified)
  */
-public class HtmlWriter extends PrintWriter {
+public class HtmlWriter {
 
     /**
      * Name of the file, to which this writer is writing to.
@@ -150,6 +150,8 @@
 
     public final Content descfrmInterfaceLabel;
 
+    private final Writer writer;
+
     /**
      * Constructor.
      *
@@ -166,7 +168,7 @@
     public HtmlWriter(Configuration configuration,
                       String path, String filename, String docencoding)
                       throws IOException, UnsupportedEncodingException {
-        super(Util.genWriter(configuration, path, filename, docencoding));
+        writer = Util.genWriter(configuration, path, filename, docencoding);
         this.configuration = configuration;
         htmlFilename = filename;
         this.memberDetailsListPrinted = false;
@@ -216,6 +218,14 @@
         descfrmInterfaceLabel = getResource("doclet.Description_From_Interface");
     }
 
+    public void write(Content c) throws IOException {
+        c.write(writer, true);
+    }
+
+    public void close() throws IOException {
+        writer.close();
+    }
+
     /**
      * Get the configuration string as a content.
      *
@@ -250,38 +260,6 @@
     }
 
     /**
-     * Print &lt;HTML&gt; tag. Add a newline character at the end.
-     */
-    public void html() {
-        println("<HTML lang=\"" + configuration.getLocale().getLanguage() + "\">");
-    }
-
-    /**
-     * Print &lt;/HTML&gt; tag. Add a newline character at the end.
-     */
-    public void htmlEnd() {
-        println("</HTML>");
-    }
-
-    /**
-     * Print the script code to be embedded before the  &lt;/HEAD&gt; tag.
-     */
-    protected void printWinTitleScript(String winTitle){
-        if(winTitle != null && winTitle.length() > 0) {
-            script();
-            println("function windowTitle()");
-            println("{");
-            println("    if (location.href.indexOf('is-external=true') == -1) {");
-            println("        parent.document.title=\"" + winTitle + "\";");
-            println("    }");
-            println("}");
-            scriptEnd();
-            noScript();
-            noScriptEnd();
-        }
-    }
-
-    /**
      * Returns an HtmlTree for the SCRIPT tag.
      *
      * @return an HtmlTree for the SCRIPT tag
@@ -418,64 +396,6 @@
     }
 
     /**
-     * Print the Javascript &lt;SCRIPT&gt; start tag with its type
-     * attribute.
-     */
-    public void script() {
-        println("<SCRIPT type=\"text/javascript\">");
-    }
-
-    /**
-     * Print the Javascript &lt;/SCRIPT&gt; end tag.
-     */
-    public void scriptEnd() {
-        println("</SCRIPT>");
-    }
-
-    /**
-     * Print the Javascript &lt;NOSCRIPT&gt; start tag.
-     */
-    public void noScript() {
-        println("<NOSCRIPT>");
-    }
-
-    /**
-     * Print the Javascript &lt;/NOSCRIPT&gt; end tag.
-     */
-    public void noScriptEnd() {
-        println("</NOSCRIPT>");
-    }
-
-    /**
-     * Return the Javascript call to be embedded in the &lt;BODY&gt; tag.
-     * Return nothing if winTitle is empty.
-     * @return the Javascript call to be embedded in the &lt;BODY&gt; tag.
-     */
-    protected String getWindowTitleOnload(){
-        if(winTitle != null && winTitle.length() > 0) {
-            return " onload=\"windowTitle();\"";
-        } else {
-            return "";
-        }
-    }
-
-    /**
-     * Print &lt;BODY BGCOLOR="bgcolor"&gt;, including JavaScript
-     * "onload" call to load windowtitle script.  This script shows the name
-     * of the document in the window title bar when frames are on.
-     *
-     * @param bgcolor Background color.
-     * @param includeScript  boolean set true if printing windowtitle script
-     */
-    public void body(String bgcolor, boolean includeScript) {
-        print("<BODY BGCOLOR=\"" + bgcolor + "\"");
-        if (includeScript) {
-            print(getWindowTitleOnload());
-        }
-        println(">");
-    }
-
-    /**
      * Returns an HtmlTree for the BODY tag.
      *
      * @param includeScript  set true if printing windowtitle script
@@ -498,31 +418,6 @@
     }
 
     /**
-     * Print &lt;/BODY&gt; tag. Add a newline character at the end.
-     */
-    public void bodyEnd() {
-        println("</BODY>");
-    }
-
-    /**
-     * Print &lt;TITLE&gt; tag. Add a newline character at the end.
-     */
-    public void title() {
-        println("<TITLE>");
-    }
-
-    /**
-     * Print &lt;TITLE&gt; tag. Add a newline character at the end.
-     *
-     * @param winTitle The title of this document.
-     */
-    public void title(String winTitle) {
-        // Set window title string which is later printed
-        this.winTitle = winTitle;
-        title();
-    }
-
-    /**
      * Returns an HtmlTree for the TITLE tag.
      *
      * @return an HtmlTree for the TITLE tag
@@ -533,295 +428,6 @@
     }
 
     /**
-     * Print &lt;/TITLE&gt; tag. Add a newline character at the end.
-     */
-    public void titleEnd() {
-        println("</TITLE>");
-    }
-
-    /**
-     * Print &lt;UL&gt; tag. Add a newline character at the end.
-     */
-    public void ul() {
-        println("<UL>");
-    }
-
-    /**
-     * Print &lt;/UL&gt; tag. Add a newline character at the end.
-     */
-    public void ulEnd() {
-        println("</UL>");
-    }
-
-    /**
-     * Print &lt;LI&gt; tag.
-     */
-    public void li() {
-        print("<LI>");
-    }
-
-    /**
-     * Print &lt;LI TYPE="type"&gt; tag.
-     *
-     * @param type Type string.
-     */
-    public void li(String type) {
-        print("<LI TYPE=\"" + type + "\">");
-    }
-
-    /**
-     * Print &lt;H1&gt; tag. Add a newline character at the end.
-     */
-    public void h1() {
-        println("<H1>");
-    }
-
-    /**
-     * Print &lt;/H1&gt; tag. Add a newline character at the end.
-     */
-    public void h1End() {
-        println("</H1>");
-    }
-
-    /**
-     * Print text with &lt;H1&gt; tag. Also adds &lt;/H1&gt; tag. Add a newline character
-     * at the end of the text.
-     *
-     * @param text Text to be printed with &lt;H1&gt; format.
-     */
-    public void h1(String text) {
-        h1();
-        println(text);
-        h1End();
-    }
-
-    /**
-     * Print &lt;H2&gt; tag. Add a newline character at the end.
-     */
-    public void h2() {
-        println("<H2>");
-    }
-
-    /**
-     * Print text with &lt;H2&gt; tag. Also adds &lt;/H2&gt; tag. Add a newline character
-     *  at the end of the text.
-     *
-     * @param text Text to be printed with &lt;H2&gt; format.
-     */
-    public void h2(String text) {
-        h2();
-        println(text);
-        h2End();
-    }
-
-    /**
-     * Print &lt;/H2&gt; tag. Add a newline character at the end.
-     */
-    public void h2End() {
-        println("</H2>");
-    }
-
-    /**
-     * Print &lt;H3&gt; tag. Add a newline character at the end.
-     */
-    public void h3() {
-        println("<H3>");
-    }
-
-    /**
-     * Print text with &lt;H3&gt; tag. Also adds &lt;/H3&gt; tag. Add a newline character
-     *  at the end of the text.
-     *
-     * @param text Text to be printed with &lt;H3&gt; format.
-     */
-    public void h3(String text) {
-        h3();
-        println(text);
-        h3End();
-    }
-
-    /**
-     * Print &lt;/H3&gt; tag. Add a newline character at the end.
-     */
-    public void h3End() {
-        println("</H3>");
-    }
-
-    /**
-     * Print &lt;H4&gt; tag. Add a newline character at the end.
-     */
-    public void h4() {
-        println("<H4>");
-    }
-
-    /**
-     * Print &lt;/H4&gt; tag. Add a newline character at the end.
-     */
-    public void h4End() {
-        println("</H4>");
-    }
-
-    /**
-     * Print text with &lt;H4&gt; tag. Also adds &lt;/H4&gt; tag. Add a newline character
-     * at the end of the text.
-     *
-     * @param text Text to be printed with &lt;H4&gt; format.
-     */
-    public void h4(String text) {
-        h4();
-        println(text);
-        h4End();
-    }
-
-    /**
-     * Print &lt;H5&gt; tag. Add a newline character at the end.
-     */
-    public void h5() {
-        println("<H5>");
-    }
-
-    /**
-     * Print &lt;/H5&gt; tag. Add a newline character at the end.
-     */
-    public void h5End() {
-        println("</H5>");
-    }
-
-    /**
-     * Print HTML &lt;IMG SRC="imggif" WIDTH="width" HEIGHT="height" ALT="imgname&gt;
-     * tag. It prepends the "images" directory name to the "imggif". This
-     * method is used for oneone format generation. Add a newline character
-     * at the end.
-     *
-     * @param imggif   Image GIF file.
-     * @param imgname  Image name.
-     * @param width    Width of the image.
-     * @param height   Height of the image.
-     */
-    public void img(String imggif, String imgname, int width, int height) {
-        println("<IMG SRC=\"images/" + imggif + ".gif\""
-              + " WIDTH=\"" + width + "\" HEIGHT=\"" + height
-              + "\" ALT=\"" + imgname + "\">");
-    }
-
-    /**
-     * Print &lt;MENU&gt; tag. Add a newline character at the end.
-     */
-    public void menu() {
-        println("<MENU>");
-    }
-
-    /**
-     * Print &lt;/MENU&gt; tag. Add a newline character at the end.
-     */
-    public void menuEnd() {
-        println("</MENU>");
-    }
-
-    /**
-     * Print &lt;PRE&gt; tag. Add a newline character at the end.
-     */
-    public void pre() {
-        println("<PRE>");
-    }
-
-    /**
-     * Print &lt;PRE&gt; tag without adding new line character at th eend.
-     */
-    public void preNoNewLine() {
-        print("<PRE>");
-    }
-
-    /**
-     * Print &lt;/PRE&gt; tag. Add a newline character at the end.
-     */
-    public void preEnd() {
-        println("</PRE>");
-    }
-
-    /**
-     * Print &lt;HR&gt; tag. Add a newline character at the end.
-     */
-    public void hr() {
-        println("<HR>");
-    }
-
-    /**
-     * Print &lt;HR SIZE="size" WIDTH="widthpercent%"&gt; tag. Add a newline
-     * character at the end.
-     *
-     * @param size           Size of the ruler.
-     * @param widthPercent   Percentage Width of the ruler
-     */
-    public void hr(int size, int widthPercent) {
-        println("<HR SIZE=\"" + size + "\" WIDTH=\"" + widthPercent + "%\">");
-    }
-
-    /**
-     * Print &lt;HR SIZE="size" NOSHADE&gt; tag. Add a newline character at the end.
-     *
-     * @param size           Size of the ruler.
-     * @param noshade        noshade string.
-     */
-    public void hr(int size, String noshade) {
-        println("<HR SIZE=\"" + size + "\" NOSHADE>");
-    }
-
-    /**
-     * Get the "&lt;STRONG&gt;" string.
-     *
-     * @return String Return String "&lt;STRONG&gt;";
-     */
-    public String getStrong() {
-        return "<STRONG>";
-    }
-
-    /**
-     * Get the "&lt;/STRONG&gt;" string.
-     *
-     * @return String Return String "&lt;/STRONG&gt;";
-     */
-    public String getStrongEnd() {
-        return "</STRONG>";
-    }
-
-    /**
-     * Print &lt;STRONG&gt; tag.
-     */
-    public void strong() {
-        print("<STRONG>");
-    }
-
-    /**
-     * Print &lt;/STRONG&gt; tag.
-     */
-    public void strongEnd() {
-        print("</STRONG>");
-    }
-
-    /**
-     * Print text passed, in strong format using &lt;STRONG&gt; and &lt;/STRONG&gt; tags.
-     *
-     * @param text String to be printed in between &lt;STRONG&gt; and &lt;/STRONG&gt; tags.
-     */
-    public void strong(String text) {
-        strong();
-        print(text);
-        strongEnd();
-    }
-
-    /**
-     * Print text passed, in Italics using &lt;I&gt; and &lt;/I&gt; tags.
-     *
-     * @param text String to be printed in between &lt;I&gt; and &lt;/I&gt; tags.
-     */
-    public void italics(String text) {
-        print("<I>");
-        print(text);
-        println("</I>");
-    }
-
-    /**
      * Return, text passed, with Italics &lt;i&gt; and &lt;/i&gt; tags, surrounding it.
      * So if the text passed is "Hi", then string returned will be "&lt;i&gt;Hi&lt;/i&gt;".
      *
@@ -836,690 +442,16 @@
     }
 
     /**
-     * Print "&#38;nbsp;", non-breaking space.
-     */
-    public void space() {
-        print("&nbsp;");
-    }
-
-    /**
      * Return "&#38;nbsp;", non-breaking space.
      */
     public Content getSpace() {
         return RawHtml.nbsp;
     }
 
-    /**
-     * Print &lt;DL&gt; tag. Add a newline character at the end.
-     */
-    public void dl() {
-        println("<DL>");
-    }
-
-    /**
-     * Print &lt;/DL&gt; tag. Add a newline character at the end.
-     */
-    public void dlEnd() {
-        println("</DL>");
-    }
-
-    /**
-     * Print &lt;DT&gt; tag.
-     */
-    public void dt() {
-        print("<DT>");
-    }
-
-    /**
-     * Print &lt;/DT&gt; tag.
-     */
-    public void dtEnd() {
-        print("</DT>");
-    }
-
-    /**
-     * Print &lt;DD&gt; tag.
-     */
-    public void dd() {
-        print("<DD>");
-    }
-
-    /**
-     * Print &lt;/DD&gt; tag. Add a newline character at the end.
-     */
-    public void ddEnd() {
-        println("</DD>");
-    }
-
-    /**
-     * Print &lt;SUP&gt; tag. Add a newline character at the end.
-     */
-    public void sup() {
-        println("<SUP>");
-    }
-
-    /**
-     * Print &lt;/SUP&gt; tag. Add a newline character at the end.
-     */
-    public void supEnd() {
-        println("</SUP>");
-    }
-
-    /**
-     * Print &lt;FONT SIZE="size"&gt; tag. Add a newline character at the end.
-     *
-     * @param size String size.
-     */
-    public void font(String size) {
-        println("<FONT SIZE=\"" + size + "\">");
-    }
-
-    /**
-     * Print &lt;FONT SIZE="size"&gt; tag.
-     *
-     * @param size String size.
-     */
-    public void fontNoNewLine(String size) {
-        print("<FONT SIZE=\"" + size + "\">");
-    }
-
-    /**
-     * Print &lt;FONT CLASS="stylename"&gt; tag. Add a newline character at the end.
-     *
-     * @param stylename String stylename.
-     */
-    public void fontStyle(String stylename) {
-        print("<FONT CLASS=\"" + stylename + "\">");
-    }
-
-    /**
-     * Print &lt;FONT SIZE="size" CLASS="stylename"&gt; tag. Add a newline character
-     * at the end.
-     *
-     * @param size String size.
-     * @param stylename String stylename.
-     */
-    public void fontSizeStyle(String size, String stylename) {
-        println("<FONT size=\"" + size + "\" CLASS=\"" + stylename + "\">");
-    }
-
-    /**
-     * Print &lt;/FONT&gt; tag.
-     */
-    public void fontEnd() {
-        print("</FONT>");
-    }
-
-    /**
-     * Get the "&lt;FONT COLOR="color"&gt;" string.
-     *
-     * @param color String color.
-     * @return String Return String "&lt;FONT COLOR="color"&gt;".
-     */
-    public String getFontColor(String color) {
-        return "<FONT COLOR=\"" + color + "\">";
-    }
-
-    /**
-     * Get the "&lt;/FONT&gt;" string.
-     *
-     * @return String Return String "&lt;/FONT&gt;";
-     */
-    public String getFontEnd() {
-        return "</FONT>";
-    }
-
-    /**
-     * Print &lt;CENTER&gt; tag. Add a newline character at the end.
-     */
-    public void center() {
-        println("<CENTER>");
-    }
-
-    /**
-     * Print &lt;/CENTER&gt; tag. Add a newline character at the end.
-     */
-    public void centerEnd() {
-        println("</CENTER>");
-    }
-
-    /**
-     * Print anchor &lt;A NAME="name"&gt; tag.
-     *
-     * @param name Name String.
-     */
-    public void aName(String name) {
-        print("<A NAME=\"" + name + "\">");
-    }
-
-    /**
-     * Print &lt;/A&gt; tag.
-     */
-    public void aEnd() {
-        print("</A>");
-    }
-
-    /**
-     * Print &lt;I&gt; tag.
-     */
-    public void italic() {
-        print("<I>");
-    }
-
-    /**
-     * Print &lt;/I&gt; tag.
-     */
-    public void italicEnd() {
-        print("</I>");
-    }
-
-    /**
-     * Print contents within anchor &lt;A NAME="name"&gt; tags.
-     *
-     * @param name String name.
-     * @param content String contents.
-     */
-    public void anchor(String name, String content) {
-        aName(name);
-        print(content);
-        aEnd();
-    }
-
-    /**
-     * Print anchor &lt;A NAME="name"&gt; and &lt;/A&gt;tags. Print comment string
-     * "&lt;!-- --&gt;" within those tags.
-     *
-     * @param name String name.
-     */
-    public void anchor(String name) {
-        anchor(name, "<!-- -->");
-    }
-
-    /**
-     * Print newline and then print &lt;P&gt; tag. Add a newline character at the
-     * end.
-     */
-    public void p() {
-        println();
-        println("<P>");
-    }
-
-    /**
-     * Print newline and then print &lt;/P&gt; tag. Add a newline character at the
-     * end.
-     */
-    public void pEnd() {
-        println();
-        println("</P>");
-    }
-
-    /**
-     * Print newline and then print &lt;BR&gt; tag. Add a newline character at the
-     * end.
-     */
-    public void br() {
-        println();
-        println("<BR>");
-    }
-
-    /**
-     * Print &lt;ADDRESS&gt; tag. Add a newline character at the end.
-     */
-    public void address() {
-        println("<ADDRESS>");
-    }
-
-    /**
-     * Print &lt;/ADDRESS&gt; tag. Add a newline character at the end.
-     */
-    public void addressEnd() {
-        println("</ADDRESS>");
-    }
-
-    /**
-     * Print &lt;HEAD&gt; tag. Add a newline character at the end.
-     */
-    public void head() {
-        println("<HEAD>");
-    }
-
-    /**
-     * Print &lt;/HEAD&gt; tag. Add a newline character at the end.
-     */
-    public void headEnd() {
-        println("</HEAD>");
-    }
-
-    /**
-     * Print &lt;CODE&gt; tag.
-     */
-    public void code() {
-        print("<CODE>");
-    }
-
-    /**
-     * Print &lt;/CODE&gt; tag.
-     */
-    public void codeEnd() {
-        print("</CODE>");
-    }
-
-    /**
-     * Print &lt;EM&gt; tag. Add a newline character at the end.
-     */
-    public void em() {
-        println("<EM>");
-    }
-
-    /**
-     * Print &lt;/EM&gt; tag. Add a newline character at the end.
-     */
-    public void emEnd() {
-        println("</EM>");
-    }
-
-    /**
-     * Print HTML &lt;TABLE BORDER="border" WIDTH="width"
-     * CELLPADDING="cellpadding" CELLSPACING="cellspacing"&gt; tag.
-     *
-     * @param border       Border size.
-     * @param width        Width of the table.
-     * @param cellpadding  Cellpadding for the table cells.
-     * @param cellspacing  Cellspacing for the table cells.
-     */
-    public void table(int border, String width, int cellpadding,
-                      int cellspacing) {
-        println(DocletConstants.NL +
-                "<TABLE BORDER=\"" + border +
-                "\" WIDTH=\"" + width +
-                "\" CELLPADDING=\"" + cellpadding +
-                "\" CELLSPACING=\"" + cellspacing +
-                "\" SUMMARY=\"\">");
-    }
-
-    /**
-     * Print HTML &lt;TABLE BORDER="border" WIDTH="width"
-     * CELLPADDING="cellpadding" CELLSPACING="cellspacing" SUMMARY="summary"&gt; tag.
-     *
-     * @param border       Border size.
-     * @param width        Width of the table.
-     * @param cellpadding  Cellpadding for the table cells.
-     * @param cellspacing  Cellspacing for the table cells.
-     * @param summary      Table summary.
-     */
-    public void table(int border, String width, int cellpadding,
-                      int cellspacing, String summary) {
-        println(DocletConstants.NL +
-                "<TABLE BORDER=\"" + border +
-                "\" WIDTH=\"" + width +
-                "\" CELLPADDING=\"" + cellpadding +
-                "\" CELLSPACING=\"" + cellspacing +
-                "\" SUMMARY=\"" + summary + "\">");
-    }
-
-    /**
-     * Print HTML &lt;TABLE BORDER="border" CELLPADDING="cellpadding"
-     * CELLSPACING="cellspacing"&gt; tag.
-     *
-     * @param border       Border size.
-     * @param cellpadding  Cellpadding for the table cells.
-     * @param cellspacing  Cellspacing for the table cells.
-     */
-    public void table(int border, int cellpadding, int cellspacing) {
-        println(DocletConstants.NL +
-                "<TABLE BORDER=\"" + border +
-                "\" CELLPADDING=\"" + cellpadding +
-                "\" CELLSPACING=\"" + cellspacing +
-                "\" SUMMARY=\"\">");
-    }
-
-    /**
-     * Print HTML &lt;TABLE BORDER="border" CELLPADDING="cellpadding"
-     * CELLSPACING="cellspacing" SUMMARY="summary"&gt; tag.
-     *
-     * @param border       Border size.
-     * @param cellpadding  Cellpadding for the table cells.
-     * @param cellspacing  Cellspacing for the table cells.
-     * @param summary      Table summary.
-     */
-    public void table(int border, int cellpadding, int cellspacing, String summary) {
-        println(DocletConstants.NL +
-                "<TABLE BORDER=\"" + border +
-                "\" CELLPADDING=\"" + cellpadding +
-                "\" CELLSPACING=\"" + cellspacing +
-                "\" SUMMARY=\"" + summary + "\">");
-    }
-
-    /**
-     * Print HTML &lt;TABLE BORDER="border" WIDTH="width"&gt;
-     *
-     * @param border       Border size.
-     * @param width        Width of the table.
-     */
-    public void table(int border, String width) {
-        println(DocletConstants.NL +
-                "<TABLE BORDER=\"" + border +
-                "\" WIDTH=\"" + width +
-                "\" SUMMARY=\"\">");
-    }
-
-    /**
-     * Print the HTML table tag with border size 0 and width 100%.
-     */
-    public void table() {
-        table(0, "100%");
-    }
-
-    /**
-     * Print &lt;/TABLE&gt; tag. Add a newline character at the end.
-     */
-    public void tableEnd() {
-        println("</TABLE>");
-    }
-
-    /**
-     * Print &lt;TR&gt; tag. Add a newline character at the end.
-     */
-    public void tr() {
-        println("<TR>");
-    }
-
-    /**
-     * Print &lt;/TR&gt; tag. Add a newline character at the end.
-     */
-    public void trEnd() {
-        println("</TR>");
-    }
-
-    /**
-     * Print &lt;TD&gt; tag.
-     */
-    public void td() {
-        print("<TD>");
-    }
-
-    /**
-     * Print &lt;TD NOWRAP&gt; tag.
-     */
-    public void tdNowrap() {
-        print("<TD NOWRAP>");
-    }
-
-    /**
-     * Print &lt;TD WIDTH="width"&gt; tag.
-     *
-     * @param width String width.
-     */
-    public void tdWidth(String width) {
-        print("<TD WIDTH=\"" + width + "\">");
-    }
-
-    /**
-     * Print &lt;/TD&gt; tag. Add a newline character at the end.
-     */
-    public void tdEnd() {
-        println("</TD>");
-    }
-
-    /**
-     * Print &lt;LINK str&gt; tag.
-     *
-     * @param str String.
-     */
-    public void link(String str) {
-        println("<LINK " + str + ">");
-    }
-
-    /**
-     * Print "&lt;!-- " comment start string.
-     */
-    public void commentStart() {
-         print("<!-- ");
-    }
-
-    /**
-     * Print "--&gt;" comment end string. Add a newline character at the end.
-     */
-    public void commentEnd() {
-         println("-->");
-    }
-
-    /**
-     * Print &lt;CAPTION CLASS="stylename"&gt; tag. Adds a newline character
-     * at the end.
-     *
-     * @param stylename style to be applied.
-     */
-    public void captionStyle(String stylename) {
-        println("<CAPTION CLASS=\"" + stylename + "\">");
-    }
-
-    /**
-     * Print &lt;/CAPTION&gt; tag. Add a newline character at the end.
-     */
-    public void captionEnd() {
-        println("</CAPTION>");
-    }
-
-    /**
-     * Print &lt;TR BGCOLOR="color" CLASS="stylename"&gt; tag. Adds a newline character
-     * at the end.
-     *
-     * @param color String color.
-     * @param stylename String stylename.
-     */
-    public void trBgcolorStyle(String color, String stylename) {
-        println("<TR BGCOLOR=\"" + color + "\" CLASS=\"" + stylename + "\">");
-    }
-
-    /**
-     * Print &lt;TR BGCOLOR="color"&gt; tag. Adds a newline character at the end.
-     *
-     * @param color String color.
-     */
-    public void trBgcolor(String color) {
-        println("<TR BGCOLOR=\"" + color + "\">");
-    }
-
-    /**
-     * Print &lt;TR ALIGN="align" VALIGN="valign"&gt; tag. Adds a newline character
-     * at the end.
-     *
-     * @param align String align.
-     * @param valign String valign.
-     */
-    public void trAlignVAlign(String align, String valign) {
-        println("<TR ALIGN=\"" + align + "\" VALIGN=\"" + valign + "\">");
-    }
-
-    /**
-     * Print &lt;TH ALIGN="align"&gt; tag.
-     *
-     * @param align the align attribute.
-     */
-    public void thAlign(String align) {
-        print("<TH ALIGN=\"" + align + "\">");
-    }
-
-    /**
-     * Print &lt;TH CLASS="stylename" SCOPE="scope" NOWRAP&gt; tag.
-     *
-     * @param stylename style to be applied.
-     * @param scope the scope attribute.
-     */
-    public void thScopeNoWrap(String stylename, String scope) {
-        print("<TH CLASS=\"" + stylename + "\" SCOPE=\"" + scope + "\" NOWRAP>");
-    }
-
     /*
      * Returns a header for Modifier and Type column of a table.
      */
     public String getModifierTypeHeader() {
         return modifierTypeHeader;
     }
-
-    /**
-     * Print &lt;TH align="align" COLSPAN=i&gt; tag.
-     *
-     * @param align the align attribute.
-     * @param i integer.
-     */
-    public void thAlignColspan(String align, int i) {
-        print("<TH ALIGN=\"" + align + "\" COLSPAN=\"" + i + "\">");
-    }
-
-    /**
-     * Print &lt;TH align="align" NOWRAP&gt; tag.
-     *
-     * @param align the align attribute.
-     */
-    public void thAlignNowrap(String align) {
-        print("<TH ALIGN=\"" + align + "\" NOWRAP>");
-    }
-
-    /**
-     * Print &lt;/TH&gt; tag. Add a newline character at the end.
-     */
-    public void thEnd() {
-        println("</TH>");
-    }
-
-    /**
-     * Print &lt;TD COLSPAN=i&gt; tag.
-     *
-     * @param i integer.
-     */
-    public void tdColspan(int i) {
-        print("<TD COLSPAN=" + i + ">");
-    }
-
-    /**
-     * Print &lt;TD BGCOLOR="color" CLASS="stylename"&gt; tag.
-     *
-     * @param color String color.
-     * @param stylename String stylename.
-     */
-    public void tdBgcolorStyle(String color, String stylename) {
-        print("<TD BGCOLOR=\"" + color + "\" CLASS=\"" + stylename + "\">");
-    }
-
-    /**
-     * Print &lt;TD COLSPAN=i BGCOLOR="color" CLASS="stylename"&gt; tag.
-     *
-     * @param i integer.
-     * @param color String color.
-     * @param stylename String stylename.
-     */
-    public void tdColspanBgcolorStyle(int i, String color, String stylename) {
-        print("<TD COLSPAN=" + i + " BGCOLOR=\"" + color + "\" CLASS=\"" +
-              stylename + "\">");
-    }
-
-    /**
-     * Print &lt;TD ALIGN="align"&gt; tag. Adds a newline character
-     * at the end.
-     *
-     * @param align String align.
-     */
-    public void tdAlign(String align) {
-        print("<TD ALIGN=\"" + align + "\">");
-    }
-
-    /**
-     * Print &lt;TD ALIGN="align" CLASS="stylename"&gt; tag.
-     *
-     * @param align        String align.
-     * @param stylename    String stylename.
-     */
-    public void tdVAlignClass(String align, String stylename) {
-        print("<TD VALIGN=\"" + align + "\" CLASS=\"" + stylename + "\">");
-    }
-
-    /**
-     * Print &lt;TD VALIGN="valign"&gt; tag.
-     *
-     * @param valign String valign.
-     */
-    public void tdVAlign(String valign) {
-        print("<TD VALIGN=\"" + valign + "\">");
-    }
-
-    /**
-     * Print &lt;TD ALIGN="align" VALIGN="valign"&gt; tag.
-     *
-     * @param align   String align.
-     * @param valign  String valign.
-     */
-    public void tdAlignVAlign(String align, String valign) {
-        print("<TD ALIGN=\"" + align + "\" VALIGN=\"" + valign + "\">");
-    }
-
-    /**
-     * Print &lt;TD ALIGN="align" ROWSPAN=rowspan&gt; tag.
-     *
-     * @param align    String align.
-     * @param rowspan  integer rowspan.
-     */
-    public void tdAlignRowspan(String align, int rowspan) {
-        print("<TD ALIGN=\"" + align + "\" ROWSPAN=" + rowspan + ">");
-    }
-
-    /**
-     * Print &lt;TD ALIGN="align" VALIGN="valign" ROWSPAN=rowspan&gt; tag.
-     *
-     * @param align    String align.
-     * @param valign  String valign.
-     * @param rowspan  integer rowspan.
-     */
-    public void tdAlignVAlignRowspan(String align, String valign,
-                                     int rowspan) {
-        print("<TD ALIGN=\"" + align + "\" VALIGN=\"" + valign
-                + "\" ROWSPAN=" + rowspan + ">");
-    }
-
-    /**
-     * Print &lt;BLOCKQUOTE&gt; tag. Add a newline character at the end.
-     */
-    public void blockquote() {
-        println("<BLOCKQUOTE>");
-    }
-
-    /**
-     * Print &lt;/BLOCKQUOTE&gt; tag. Add a newline character at the end.
-     */
-    public void blockquoteEnd() {
-        println("</BLOCKQUOTE>");
-    }
-
-    /**
-     * Get the "&lt;code&gt;" string.
-     *
-     * @return String Return String "&lt;code&gt;";
-     */
-    public String getCode() {
-        return "<code>";
-    }
-
-    /**
-     * Get the "&lt;/code&gt;" string.
-     *
-     * @return String Return String "&lt;/code&gt;";
-     */
-    public String getCodeEnd() {
-        return "</code>";
-    }
-
-    /**
-     * Print &lt;NOFRAMES&gt; tag. Add a newline character at the end.
-     */
-    public void noFrames() {
-        println("<NOFRAMES>");
-    }
-
-    /**
-     * Print &lt;/NOFRAMES&gt; tag. Add a newline character at the end.
-     */
-    public void noFramesEnd() {
-        println("</NOFRAMES>");
-    }
 }
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java	Wed Oct 10 18:34:46 2012 -0700
+++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java	Tue Jan 17 20:49:37 2017 +0000
@@ -152,7 +152,7 @@
      *
      * @param contentTree content tree that will be printed as a document
      */
-    public void printDocument(Content contentTree) throws IOException ;
+    public void printDocument(Content contentTree) throws IOException;
 
     /**
      * Close the writer.