⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htmldoclet.java

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
/* gnu.classpath.tools.doclets.htmldoclet.HtmlDoclet   Copyright (C) 2004 Free Software Foundation, Inc.This file is part of GNU Classpath.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version. GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING.  If not, write to theFree Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307 USA. */package gnu.classpath.tools.doclets.htmldoclet;import gnu.classpath.tools.IOToolkit;import gnu.classpath.tools.doclets.AbstractDoclet;import gnu.classpath.tools.doclets.DocletConfigurationException;import gnu.classpath.tools.doclets.DocletOption;import gnu.classpath.tools.doclets.DocletOptionFile;import gnu.classpath.tools.doclets.DocletOptionFlag;import gnu.classpath.tools.doclets.DocletOptionString;import gnu.classpath.tools.doclets.PackageGroup;import gnu.classpath.tools.doclets.TagletPrinter;import gnu.classpath.tools.doclets.InlineTagRenderer;import gnu.classpath.tools.doclets.xmldoclet.HtmlRepairer;import gnu.classpath.tools.taglets.GnuExtendedTaglet;import gnu.classpath.tools.taglets.TagletContext;import gnu.classpath.tools.java2xhtml.Java2xhtml;import gnu.classpath.tools.StringToolkit;import com.sun.javadoc.*;import com.sun.tools.doclets.Taglet;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.InputStream;import java.io.InputStreamReader;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.io.StringWriter;import java.net.MalformedURLException;import java.nio.charset.Charset;import java.text.DateFormat;import java.text.MessageFormat;import java.util.Arrays;import java.util.Calendar;import java.util.Collection;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashSet;import java.util.LinkedList;import java.util.List;import java.util.ListIterator;import java.util.Locale;import java.util.Map;import java.util.Properties;import java.util.Set;import java.util.SortedSet;import java.util.TimeZone;import java.util.TreeSet;public class HtmlDoclet   extends AbstractDoclet   implements InlineTagRenderer{   private static String filenameExtension = ".html";   /**    *  Contains ExternalDocSet.    */   private List externalDocSets = new LinkedList();   /**    *  Contains String->ExternalDocSet.    */   private Map packageNameToDocSet = new HashMap();   /**    *  Cache for version string from resource /version.properties    */   private String docletVersion;   /**    *  For now, do not output a help page.    */   private static final boolean outputHelpPage = false;   /**    *  Stores the output encoding (either the one specified using    *  -charset, or the platform default encoding).    */   private String outputCharset;   private void printNavBar(HtmlPage output, String currentPage, ClassDoc currentClass)   {         output.beginDiv(CssClass.NAVBAR_TOP);         boolean overviewLevel            = ("overview".equals(currentPage)               || "full-tree".equals(currentPage)               || "index".equals(currentPage)               || "split-index".equals(currentPage)               || "serialized".equals(currentPage)               || "deprecated".equals(currentPage)               || "about".equals(currentPage)               );         if (!isSinglePackage()) {            if ("overview".equals(currentPage)) {               output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);               output.print("Overview");               output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);            }            else {               output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);               output.beginAnchor(output.getPathToRoot() + "/overview-summary" + filenameExtension);               output.print("Overview");               output.endAnchor();               output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);            }                        output.print(" ");         }         if (!overviewLevel || isSinglePackage()) {            if ("package".equals(currentPage)) {               output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);               output.print("Package");               output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);            }            else {               output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);               String packageHref;               if (isSinglePackage()) {                  packageHref = output.getPathToRoot() + "/" + getPackageURL(getSinglePackage()) + "package-summary" + filenameExtension;               }               else {                  packageHref = "package-summary" + filenameExtension;               }               output.beginAnchor(packageHref);               output.print("Package");               output.endAnchor();               output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);            }         }         else {            output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED);            output.print("Package");            output.endSpan(CssClass.NAVBAR_ITEM_DISABLED);         }         if (optionUse.getValue() || optionLinkSource.getValue()) {            output.print(" ");            if (null != currentClass) {               if ("class".equals(currentPage)) {                  output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);                  output.print("Class");                  output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);               }               else {                  output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);                  output.beginAnchor(currentClass.name() + filenameExtension);                  output.print("Class");                  output.endAnchor();                  output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);               }            }            else {               output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED);               output.print("Class");               output.endSpan(CssClass.NAVBAR_ITEM_DISABLED);            }            if (optionUse.getValue()) {               output.print(" ");               if (null != currentClass) {                  if ("uses".equals(currentPage)) {                     output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);                     output.print("Use");                     output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);                  }                  else {                     output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);                     output.beginAnchor(currentClass.name() + "-uses" + filenameExtension);                     output.print("Use");                     output.endAnchor();                     output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);                  }               }               else {                  output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED);                  output.print("Use");                  output.endSpan(CssClass.NAVBAR_ITEM_DISABLED);               }            }            if (optionLinkSource.getValue()) {               output.print(" ");                              if ("source".equals(currentPage)) {                  output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);                  output.print("Source");                  output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);               }               else {                  if (null != currentClass) {                                          output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);                     String targetClassName = currentClass.name();                     String targetAnchor = "";                     if (null != currentClass.containingClass()) {                        targetClassName = getOuterClassDoc(currentClass).name();                        targetAnchor = "#line." + currentClass.position().line();                     }                     output.beginAnchor(targetClassName + "-source" + filenameExtension + targetAnchor);                     output.print("Source");                     output.endAnchor();                     output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);                  }                  else {                     output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED);                     output.print("Source");                     output.endSpan(CssClass.NAVBAR_ITEM_DISABLED);                  }               }            }         }         if (!optionNoTree.getValue()) {            output.print(" ");            if ("full-tree".equals(currentPage)                 || "package-tree".equals(currentPage)) {               output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);               output.print("Tree");               output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);            }            else {               output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);               String treeHref;               if (isSinglePackage() && overviewLevel) {                  treeHref = getPackageURL(getSinglePackage()) + "tree" + filenameExtension;               }               else {                  treeHref = "tree" + filenameExtension;               }               output.beginAnchor(treeHref);               output.print("Tree");               output.endAnchor();               output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);            }         }         output.print(" ");         String indexName;         if (optionSplitIndex.getValue()) {            indexName = "alphaindex-1";         }         else {            indexName = "alphaindex";         }         if ("index".equals(currentPage) || "split-index".equals(currentPage)) {            output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);            output.print("Index");            output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);         }         else {            output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);            output.beginAnchor(output.getPathToRoot() + "/" + indexName + filenameExtension);            output.print("Index");            output.endAnchor();            output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);         }         if (!optionNoDeprecatedList.getValue()) {            output.print(" ");            if ("deprecated".equals(currentPage)) {               output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);               output.print("Deprecated");               output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);            }            else {               output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);               output.beginAnchor(output.getPathToRoot() + "/deprecated" + filenameExtension);               output.print("Deprecated");               output.endAnchor();               output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);            }         }         if (outputHelpPage) {            if (!optionNoHelp.getValue()) {               output.print(" ");                              if ("help".equals(currentPage)) {                  output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);                  output.print("Help");                  output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);               }               else {                  output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);                  output.beginAnchor(output.getPathToRoot() + "/help" + filenameExtension);                  output.print("Help");                  output.endAnchor();                  output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);               }            }         }         output.print(" ");         if ("about".equals(currentPage)) {            output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE);            output.print("About");            output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE);         }         else {            output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED);            output.beginAnchor(output.getPathToRoot() + "/about" + filenameExtension);            output.print("About");            output.endAnchor();            output.endSpan(CssClass.NAVBAR_ITEM_ENABLED);         }         output.endDiv(CssClass.NAVBAR_TOP);   }   private void printNavBarTopRow(HtmlPage output, String currentPage, ClassDoc currentClass)   {      output.beginRow();      output.beginCell(CssClass.NAVBAR_TOP);      printNavBar(output, currentPage, currentClass);      output.endCell();      if (null != optionHeader.getValue()) {         output.beginCell(CssClass.NAVBAR_TOP_HEADER);         output.print(replaceDocRoot(output, optionHeader.getValue()));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -