Mercurial > hg > openjdk > bsd-port > langtools
view src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java @ 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 |
line wrap: on
line source
/* * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package com.sun.tools.doclets.formats.html.markup; import java.io.*; import java.util.*; import com.sun.javadoc.*; import com.sun.tools.doclets.formats.html.ConfigurationImpl; import com.sun.tools.doclets.internal.toolkit.*; /** * Class for the Html Format Code Generation specific to JavaDoc. * This Class contains methods related to the Html Code Generation which * are used by the Sub-Classes in the package com.sun.tools.doclets.standard * and com.sun.tools.doclets.oneone. * * @since 1.2 * @author Atul M Dambalkar * @author Robert Field */ public abstract class HtmlDocWriter extends HtmlWriter { public static final String CONTENT_TYPE = "text/html"; /** * Constructor. Initializes the destination file name through the super * class HtmlWriter. * * @param filename String file name. */ public HtmlDocWriter(Configuration configuration, String filename) throws IOException { super(configuration, null, configuration.destDirName + filename, configuration.docencoding); // use File to normalize file separators configuration.message.notice("doclet.Generating_0", new File(configuration.destDirName, filename)); } public HtmlDocWriter(Configuration configuration, String path, String filename) throws IOException { super(configuration, configuration.destDirName + path, filename, configuration.docencoding); // use File to normalize file separators configuration.message.notice("doclet.Generating_0", new File(configuration.destDirName, ((path.length() > 0)? path + File.separator: "") + filename)); } /** * Accessor for configuration. */ public abstract Configuration configuration(); /** * Return Html Hyper Link string. * * @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. * @return String Hyper Link. */ public String getHyperLinkString(String link, String where, String label, boolean strong) { return getHyperLinkString(link, where, label, strong, "", "", ""); } /** * Get Html Hyper Link string. * * @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. * @return String Hyper Link. */ public String getHyperLinkString(String link, String where, String label, boolean strong, String stylename) { return getHyperLinkString(link, where, label, strong, stylename, "", ""); } /** * Get Html Hyper Link string. * * @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. * @return a content tree for the hyper link */ public Content getHyperLink(String link, String where, Content label) { return getHyperLink(link, where, label, "", ""); } /** * Get Html Hyper Link string. * * @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. * @param title String that describes the link's content for accessibility. * @param target Target frame. * @return String Hyper Link. */ public String getHyperLinkString(String link, String where, String label, boolean strong, String stylename, String title, String target) { StringBuffer retlink = new StringBuffer(); StringBuilder lnk = new StringBuilder(); retlink.append("<a href=\""); lnk.append(link); if (where != null && where.length() != 0) { lnk.append("#"); lnk.append(where); } retlink.append(HtmlTree.encodeURL(lnk.toString())); retlink.append("\""); if (title != null && title.length() != 0) { retlink.append(" title=\"" + title + "\""); } if (target != null && target.length() != 0) { retlink.append(" target=\"" + target + "\""); } retlink.append(">"); if (stylename != null && stylename.length() != 0) { retlink.append("<FONT CLASS=\""); retlink.append(stylename); retlink.append("\">"); } if (strong) { retlink.append("<span class=\"strong\">"); } retlink.append(label); if (strong) { retlink.append("</span>"); } if (stylename != null && stylename.length() != 0) { retlink.append("</FONT>"); } retlink.append("</a>"); return retlink.toString(); } /** * Get 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 title String that describes the link's content for accessibility. * @param target Target frame. * @return a content tree for the hyper link. */ public Content getHyperLink(String link, String where, Content label, String title, String target) { if (where != null && where.length() != 0) { link += "#" + where; } HtmlTree anchor = HtmlTree.A(link, label); if (title != null && title.length() != 0) { anchor.addAttr(HtmlAttr.TITLE, title); } if (target != null && target.length() != 0) { anchor.addAttr(HtmlAttr.TARGET, target); } return anchor; } /** * Get a hyperlink to a file. * * @param link String name of the file * @param label Label for the link * @return a content for the hyperlink to the file */ public Content getHyperLink(String link, Content label) { return getHyperLink(link, "", label); } /** * Get link string without positioning in the file. * * @param link String name of the file. * @param label Tag for the link. * @return Strign Hyper link. */ public String getHyperLinkString(String link, String label) { return getHyperLinkString(link, "", label, false); } /** * Get the name of the package, this class is in. * * @param cd ClassDoc. */ public String getPkgName(ClassDoc cd) { String pkgName = cd.containingPackage().name(); if (pkgName.length() > 0) { pkgName += "."; return pkgName; } return ""; } public boolean getMemberDetailsListPrinted() { return memberDetailsListPrinted; } /** * Print the frameset version of the Html file header. * Called only when generating an HTML frameset file. * * @param title Title of this HTML document * @param noTimeStamp If true, don't print time stamp in header * @param frameset the frameset to be added to the HTML document */ public void printFramesetDocument(String title, boolean noTimeStamp, Content frameset) throws IOException { Content htmlDocType = DocType.Frameset(); Content htmlComment = new Comment(configuration.getText("doclet.New_Page")); Content head = new HtmlTree(HtmlTag.HEAD); if (! noTimeStamp) { Content headComment = new Comment(getGeneratedByString()); head.addContent(headComment); } if (configuration.charset.length() > 0) { Content meta = HtmlTree.META("Content-Type", CONTENT_TYPE, configuration.charset); head.addContent(meta); } Content windowTitle = HtmlTree.TITLE(new StringContent(title)); head.addContent(windowTitle); head.addContent(getFramesetJavaScript()); Content htmlTree = HtmlTree.HTML(configuration.getLocale().getLanguage(), head, frameset); Content htmlDocument = new HtmlDocument(htmlDocType, htmlComment, htmlTree); write(htmlDocument); } /** * Print the appropriate spaces to format the class tree in the class page. * * @param len Number of spaces. */ public String spaces(int len) { String space = ""; for (int i = 0; i < len; i++) { space += " "; } return space; } protected String getGeneratedByString() { Calendar calendar = new GregorianCalendar(TimeZone.getDefault()); Date today = calendar.getTime(); return "Generated by javadoc ("+ ConfigurationImpl.BUILD_DATE + ") on " + today; } }