/* * Copyright (c) 1998, 2005, 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; import com.sun.tools.doclets.internal.toolkit.util.*; import java.io.*; /** * Generate the Help File for the generated API documentation. The help file * contents are helpful for browsing the generated documentation. * * @author Atul M Dambalkar */ public class HelpWriter extends HtmlDocletWriter { /** * Constructor to construct HelpWriter object. * @param filename File to be generated. */ public HelpWriter(ConfigurationImpl configuration, String filename) throws IOException { super(configuration, filename); } /** * Construct the HelpWriter object and then use it to generate the help * file. The name of the generated file is "help-doc.html". The help file * will get generated if and only if "-helpfile" and "-nohelp" is not used * on the command line. * @throws DocletAbortException */ public static void generate(ConfigurationImpl configuration) { HelpWriter helpgen; String filename = ""; try { filename = "help-doc.html"; helpgen = new HelpWriter(configuration, filename); helpgen.generateHelpFile(); helpgen.close(); } catch (IOException exc) { configuration.standardmessage.error( "doclet.exception_encountered", exc.toString(), filename); throw new DocletAbortException(); } } /** * Generate the help file contents. */ protected void generateHelpFile() { printHtmlHeader(configuration.getText("doclet.Window_Help_title"), null, true); printTop(); navLinks(true); hr(); printHelpFileContents(); navLinks(false); printBottom(); printBodyHtmlEnd(); } /** * Print the help file contents from the resource file. While generating the * help file contents it also keeps track of user options. If "-notree" * is used, then the "overview-tree.html" will not get generated and hence * help information also will not get generated. */ protected void printHelpFileContents() { center(); h1(); printText("doclet.Help_line_1"); h1End(); centerEnd(); printText("doclet.Help_line_2"); if (configuration.createoverview) { h3(); printText("doclet.Overview"); h3End(); blockquote(); p(); printText("doclet.Help_line_3", getHyperLink("overview-summary.html", configuration.getText("doclet.Overview"))); blockquoteEnd(); } h3(); printText("doclet.Package"); h3End(); blockquote(); p(); printText("doclet.Help_line_4"); ul(); li(); printText("doclet.Interfaces_Italic"); li(); printText("doclet.Classes"); li(); printText("doclet.Enums"); li(); printText("doclet.Exceptions"); li(); printText("doclet.Errors"); li(); printText("doclet.AnnotationTypes"); ulEnd(); blockquoteEnd(); h3(); printText("doclet.Help_line_5"); h3End(); blockquote(); p(); printText("doclet.Help_line_6"); ul(); li(); printText("doclet.Help_line_7"); li(); printText("doclet.Help_line_8"); li(); printText("doclet.Help_line_9"); li(); printText("doclet.Help_line_10"); li(); printText("doclet.Help_line_11"); li(); printText("doclet.Help_line_12"); p(); li(); printText("doclet.Nested_Class_Summary"); li(); printText("doclet.Field_Summary"); li(); printText("doclet.Constructor_Summary"); li(); printText("doclet.Method_Summary"); p(); li(); printText("doclet.Field_Detail"); li(); printText("doclet.Constructor_Detail"); li(); printText("doclet.Method_Detail"); ulEnd(); printText("doclet.Help_line_13"); blockquoteEnd(); //Annotation Types blockquoteEnd(); h3(); printText("doclet.AnnotationType"); h3End(); blockquote(); p(); printText("doclet.Help_annotation_type_line_1"); ul(); li(); printText("doclet.Help_annotation_type_line_2"); li(); printText("doclet.Help_annotation_type_line_3"); li(); printText("doclet.Annotation_Type_Required_Member_Summary"); li(); printText("doclet.Annotation_Type_Optional_Member_Summary"); li(); printText("doclet.Annotation_Type_Member_Detail"); ulEnd(); blockquoteEnd(); //Enums blockquoteEnd(); h3(); printText("doclet.Enum"); h3End(); blockquote(); p(); printText("doclet.Help_enum_line_1"); ul(); li(); printText("doclet.Help_enum_line_2"); li(); printText("doclet.Help_enum_line_3"); li(); printText("doclet.Enum_Constant_Summary"); li(); printText("doclet.Enum_Constant_Detail"); ulEnd(); blockquoteEnd(); if (configuration.classuse) { h3(); printText("doclet.Help_line_14"); h3End(); blockquote(); printText("doclet.Help_line_15"); blockquoteEnd(); } if (configuration.createtree) { h3(); printText("doclet.Help_line_16"); h3End(); blockquote(); printText("doclet.Help_line_17_with_tree_link", getHyperLink("overview-tree.html", configuration.getText("doclet.Class_Hierarchy"))); ul(); li(); printText("doclet.Help_line_18"); li(); printText("doclet.Help_line_19"); ulEnd(); blockquoteEnd(); } if (!(configuration.nodeprecatedlist || configuration.nodeprecated)) { h3(); printText("doclet.Deprecated_API"); h3End(); blockquote(); printText("doclet.Help_line_20_with_deprecated_api_link", getHyperLink("deprecated-list.html", configuration.getText("doclet.Deprecated_API"))); blockquoteEnd(); } if (configuration.createindex) { String indexlink; if (configuration.splitindex) { indexlink = getHyperLink("index-files/index-1.html", configuration.getText("doclet.Index")); } else { indexlink = getHyperLink("index-all.html", configuration.getText("doclet.Index")); } h3(); printText("doclet.Help_line_21"); h3End(); blockquote(); printText("doclet.Help_line_22", indexlink); blockquoteEnd(); } h3(); printText("doclet.Help_line_23"); h3End(); printText("doclet.Help_line_24"); h3(); printText("doclet.Help_line_25"); h3End(); printText("doclet.Help_line_26"); p(); h3(); printText("doclet.Serialized_Form"); h3End(); printText("doclet.Help_line_27"); p(); h3(); printText("doclet.Constants_Summary"); h3End(); printText("doclet.Help_line_28"); p(); font("-1"); em(); printText("doclet.Help_line_29"); emEnd(); fontEnd(); br(); hr(); } /** * Highlight the word "Help" in the navigation bar as this is the help file. */ protected void navLinkHelp() { navCellRevStart(); fontStyle("NavBarFont1Rev"); boldText("doclet.Help"); fontEnd(); navCellEnd(); } }