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

📄 htmldoclet.java

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
      if (null == node) {         node = new TreeNode(classDoc);         treeMap.put(classDoc.qualifiedName(), node);         ClassDoc superClassDoc = (ClassDoc)classDoc.superclass();         if (null != superClassDoc) {            TreeNode parentNode = addClassTreeNode(treeMap, superClassDoc);            parentNode.children.add(node);         }      }      return node;   }   private TreeNode addInterfaceTreeNode(Map treeMap, ClassDoc classDoc)   {      TreeNode node = (TreeNode)treeMap.get(classDoc.qualifiedName());      if (null == node) {         node = new TreeNode(classDoc);         treeMap.put(classDoc.qualifiedName(), node);         ClassDoc[] superInterfaces = classDoc.interfaces();         if (null != superInterfaces && superInterfaces.length > 0) {            for (int i=0; i<superInterfaces.length; ++i) {               TreeNode parentNode = addInterfaceTreeNode(treeMap, superInterfaces[i]);               parentNode.children.add(node);            }         }         else {            TreeNode rootNode = (TreeNode)treeMap.get("<root>");            if (null == rootNode) {               rootNode = new TreeNode(null);               treeMap.put("<root>", rootNode);            }            rootNode.children.add(node);         }      }      return node;   }   private void printPackageTreeRec(HtmlPage output, TreeNode node, TreeNode parentNode)   {      output.beginElement("li", "class", "node");      output.beginElement("div");      if (node.classDoc.isIncluded()) {         String packageName = node.classDoc.containingPackage().name();         if (packageName.length() > 0) {            output.print(packageName);            output.print(".");         }         output.beginSpan(CssClass.TREE_LINK);         printType(output, node.classDoc);         output.endSpan(CssClass.TREE_LINK);      }      else {         output.print(possiblyQualifiedName(node.classDoc));      }      ClassDoc[] interfaces = node.classDoc.interfaces();      ClassDoc parentClassDoc = null;      if (null != parentNode) {         parentClassDoc = parentNode.classDoc;      }      if (interfaces.length > 0           && !(interfaces.length == 1 && interfaces[0].equals(parentClassDoc))) {         if (node.classDoc.isInterface()) {            output.print(" (also implements ");         }         else {            output.print(" (implements ");         }         boolean firstItem = true;         for (int i=0; i<interfaces.length; ++i) {            ClassDoc implemented = interfaces[i];            if (!implemented.equals(parentClassDoc)) {               if (!firstItem) {                  output.print(", ");               }               firstItem = false;               if (implemented.isIncluded()) {                  output.print(implemented.containingPackage().name());                  output.print(".");                  printType(output, implemented);               }               else {                  output.print(possiblyQualifiedName(implemented));               }            }         }         output.print(")");      }      output.endElement("div");      output.endElement("li");      if (!node.children.isEmpty()) {         output.beginElement("li", "class", "level");         output.beginElement("ul");         Iterator it = node.children.iterator();         while (it.hasNext()) {            TreeNode child = (TreeNode)it.next();            printPackageTreeRec(output, child, node);         }         output.endElement("ul");         output.endElement("li");      }   }   private void printClassTree(HtmlPage output, ClassDoc[] classDocs)   {            Map classTreeMap = new HashMap();      for (int i=0; i<classDocs.length; ++i) {         ClassDoc classDoc = classDocs[i];         if (!classDoc.isInterface()) {            addClassTreeNode(classTreeMap, classDoc);         }      }      TreeNode root = (TreeNode)classTreeMap.get("java.lang.Object");      if (null != root) {         output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Class Hierarchy");         output.beginDiv(CssClass.PACKAGE_TREE);         printPackageTreeRec(output, root, null);         output.endDiv(CssClass.PACKAGE_TREE);      }   }   private void printInterfaceTree(HtmlPage output, ClassDoc[] classDocs)   {      Map interfaceTreeMap = new HashMap();      for (int i=0; i<classDocs.length; ++i) {         ClassDoc classDoc = classDocs[i];         if (classDoc.isInterface()) {            addInterfaceTreeNode(interfaceTreeMap, classDoc);         }      }      TreeNode interfaceRoot = (TreeNode)interfaceTreeMap.get("<root>");      if (null != interfaceRoot) {         Iterator it = interfaceRoot.children.iterator();         if (it.hasNext()) {            output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Interface Hierarchy");            output.beginDiv(CssClass.PACKAGE_TREE);            while (it.hasNext()) {               TreeNode node = (TreeNode)it.next();               printPackageTreeRec(output, node, null);            }            output.endDiv(CssClass.PACKAGE_TREE);         }      }   }   private void printPackageTreePage(File packageDir, String pathToRoot, PackageDoc packageDoc)      throws IOException   {      HtmlPage output = newHtmlPage(new File(packageDir,                                             "tree" + filenameExtension),                                    pathToRoot);      output.beginPage(getPageTitle(packageDoc.name() + " Hierarchy"),                        getOutputCharset(),                       getStylesheets());      output.beginBody(CssClass.BODY_CONTENT_PACKAGE_TREE);      printNavBarTop(output, "package-tree");      output.div(CssClass.PACKAGE_TREE_TITLE, "Hierarchy for Package " + packageDoc.name());      ClassDoc[] classDocs = packageDoc.allClasses();      printClassTree(output, classDocs);      printInterfaceTree(output, classDocs);      printNavBarBottom(output, "package-tree");      output.endBody();      output.endPage();      output.close();   }   private void printFullTreePage()      throws IOException   {      HtmlPage output = newHtmlPage(new File(getTargetDirectory(),                                             "tree" + filenameExtension),                                    ".");      output.beginPage(getPageTitle("Hierarchy"),                        getOutputCharset(),                       getStylesheets());      output.beginBody(CssClass.BODY_CONTENT_FULL_TREE);      printNavBarTop(output, "full-tree");      output.div(CssClass.PACKAGE_TREE_TITLE, "Hierarchy for All Packages");      output.beginDiv(CssClass.FULL_TREE_PACKAGELIST);      output.div(CssClass.FULL_TREE_PACKAGELIST_HEADER, "Package Hierarchies:");      output.beginDiv(CssClass.FULL_TREE_PACKAGELIST_ITEM);      Set allPackages = getAllPackages();      Iterator it = allPackages.iterator();      while (it.hasNext()) {         PackageDoc packageDoc = (PackageDoc)it.next();         output.beginAnchor(getPackageURL(packageDoc) + "tree" + filenameExtension);         output.print(packageDoc.name());         output.endAnchor();         if (it.hasNext()) {            output.print(", ");         }      }      output.endDiv(CssClass.FULL_TREE_PACKAGELIST_ITEM);      output.endDiv(CssClass.FULL_TREE_PACKAGELIST);      ClassDoc[] classDocs = getRootDoc().classes();      printClassTree(output, classDocs);      printInterfaceTree(output, classDocs);      printNavBarBottom(output, "full-tree");      output.endBody();      output.endPage();      output.close();   }   private void printIndexEntry(HtmlPage output, Doc entry)   {      output.beginDiv(CssClass.INDEX_ENTRY);      output.beginDiv(CssClass.INDEX_ENTRY_KEY);      String anchor = null;      String description = null;      if (entry instanceof PackageDoc) {         output.beginAnchor(getPackageURL((PackageDoc)entry) + "package-summary" + filenameExtension);         output.print(entry.name());         output.endAnchor();         output.print(" - package");      }      else if (entry instanceof ClassDoc) {         ClassDoc classDoc = (ClassDoc)entry;         output.beginAnchor(getClassURL(classDoc));         output.print(entry.name() + getTypeParameters(classDoc));         output.endAnchor();         output.print(" - ");         if (entry.isInterface()) {            output.print("interface ");         }         else if (entry.isException()) {            output.print("exception ");         }         else if (entry.isError()) {            output.print("error ");         }         else {            output.print("class ");         }         String packageName = classDoc.containingPackage().name();         if (packageName.length() > 0) {            output.print(packageName);            output.print(".");         }         printType(output, classDoc);      }      else {         ProgramElementDoc memberDoc = (ProgramElementDoc)entry;         output.beginAnchor(getMemberDocURL(output, memberDoc));         output.print(entry.name());         if (memberDoc instanceof ExecutableMemberDoc) {            output.print(((ExecutableMemberDoc)memberDoc).signature());         }         output.endAnchor();         output.print(" - ");         if (memberDoc.isStatic()) {            output.print("static ");         }         if (entry.isConstructor()) {            output.print("constructor for class ");         }         else if (entry.isMethod()) {            output.print("method in class ");         }         else if (entry.isField()) {            output.print("field in class ");         }         ClassDoc containingClass = memberDoc.containingClass();         String packageName = containingClass.containingPackage().name();         if (packageName.length() > 0) {            output.print(packageName);            output.print(".");         }         printType(output, containingClass);      }      output.endDiv(CssClass.INDEX_ENTRY_KEY);      output.beginDiv(CssClass.INDEX_ENTRY_DESCRIPTION);      printTags(output, entry, entry.firstSentenceTags(), true);      output.endDiv(CssClass.INDEX_ENTRY_DESCRIPTION);      output.endDiv(CssClass.INDEX_ENTRY);   }   private void printFrameSetPage()      throws IOException   {      HtmlPage output = newHtmlPage(new File(getTargetDirectory(),                                             "index" + filenameExtension),                                    ".",                                    HtmlPage.DOCTYPE_FRAMESET);            String title = getWindowTitle();      output.beginPage(title, getOutputCharset(), getStylesheets());      output.beginElement("frameset", "cols", "20%,80%");      String contentURL;      if (isSinglePackage()) {         output.atomicElement("frame",                               new String[] { "src", "name" },                               new String[] { getPackageURL(getSinglePackage()) + "classes" + filenameExtension, "classes" });         contentURL = getPackageURL(getSinglePackage()) + "package-summary.html";      }      else {         output.beginElement("frameset", "rows", "25%,75%");         output.atomicElement("frame",                               new String[] { "src", "name" },                               new String[] { "all-packages" + filenameExtension, "packages" });         output.atomicElement("frame",                               new String[] { "src", "name" },                               new String[] { "all-classes" + filenameExtension, "classes" });         output.endElement("frameset");         contentURL = "overview-summary" + filenameExtension;      }      output.atomicElement("frame",                            new String[] { "src", "name" },                            new String[] { contentURL, "content" });      output.endElement("frameset");      output.endPage();      output.close();   }   private void printPackagesMenuPage()      throws IOException   {      HtmlPage output = newHtmlPage(new File(getTargetDirectory(),                                             "all-packages" + filenameExtension),                                    ".");      output.beginPage(getPageTitle("Package Menu"), getOutputCharset(), getStylesheets());      output.beginBody(CssClass.BODY_MENU_PACKAGES, false);      output.beginSpan(CssClass.PACKAGE_MENU_ENTRY);      output.beginAnchor("all-classes" + filenameExtension,                         null,                         "classes");      output.print("All Classes");      output.endAnchor();      output.endSpan(CssClass.PACKAGE_MENU_ENTRY);      output.div(CssClass.PACKAGE_MENU_TITLE, "Packages");      output.beginDiv(CssClass.PACKAGE_MENU_LIST);      Set packageDocs = getAllPackages();      Iterator it = packageDocs.iterator();      while (it.hasNext()) {         PackageDoc packageDoc = (PackageDoc)it.next();         output.beginSpan(CssClass.PACKAGE_MENU_ENTRY);         output.beginAnchor(getPackageURL(packageDoc) + "classes" + filenameExtension,                            null,                            "classes");         if (packageDoc.name().length() > 0) {            output.print(packageDoc.name());         }         else {            output.print("&lt;unnamed package&gt;");         }         output.endAnchor();         output.endSpan(CssClass.PACKAGE_MENU_ENTRY);         output.br();

⌨️ 快捷键说明

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