changeset 49108:f7aed48bbbdc

8196736: Refactor HelpWriter and properties Reviewed-by: ksrini
author jjg
date Mon, 05 Feb 2018 11:35:56 -0800
parents c9ab849cd2f5
children 4d716bc7ed54
files src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties
diffstat 2 files changed, 201 insertions(+), 134 deletions(-) [+]
line wrap: on
line diff
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java	Mon Feb 05 10:43:31 2018 -0500
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java	Mon Feb 05 11:35:56 2018 -0800
@@ -113,12 +113,13 @@
      * @param contentTree the content tree to which the help file contents will be added
      */
     protected void addHelpFileContents(Content contentTree) {
+        // Heading
         Content heading = HtmlTree.HEADING(HtmlConstants.TITLE_HEADING, false, HtmlStyle.title,
-                contents.getContent("doclet.Help_line_1"));
+                contents.getContent("doclet.help.main_heading"));
         Content div = HtmlTree.DIV(HtmlStyle.header, heading);
-        Content line2 = HtmlTree.DIV(HtmlStyle.subTitle,
-                contents.getContent("doclet.Help_line_2"));
-        div.addContent(line2);
+        Content intro = HtmlTree.DIV(HtmlStyle.subTitle,
+                contents.getContent("doclet.help.intro"));
+        div.addContent(intro);
         if (configuration.allowTag(HtmlTag.MAIN)) {
             mainTree.addContent(div);
         } else {
@@ -127,16 +128,18 @@
         HtmlTree htmlTree;
         HtmlTree ul = new HtmlTree(HtmlTag.UL);
         ul.setStyle(HtmlStyle.blockList);
+
+        // Overview
         if (configuration.createoverview) {
             Content overviewHeading = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
                 contents.overviewLabel);
             htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                     ? HtmlTree.SECTION(overviewHeading)
                     : HtmlTree.LI(HtmlStyle.blockList, overviewHeading);
-            Content line3 = contents.getContent("doclet.Help_line_3",
+            Content overviewBody = contents.getContent("doclet.help.overview.body",
                     links.createLink(DocPaths.overviewSummary(configuration.frames),
-                    configuration.getText("doclet.Overview")));
-            Content overviewPara = HtmlTree.P(line3);
+                    resources.getText("doclet.Overview")));
+            Content overviewPara = HtmlTree.P(overviewBody);
             htmlTree.addContent(overviewPara);
             if (configuration.allowTag(HtmlTag.SECTION)) {
                 ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
@@ -144,54 +147,46 @@
                 ul.addContent(htmlTree);
             }
         }
+
+        // Package
         Content packageHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
                 contents.packageLabel);
         htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                 ? HtmlTree.SECTION(packageHead)
                 : HtmlTree.LI(HtmlStyle.blockList, packageHead);
-        Content line4 = contents.getContent("doclet.Help_line_4");
-        Content packagePara = HtmlTree.P(line4);
+        Content packageIntro = contents.getContent("doclet.help.package.intro");
+        Content packagePara = HtmlTree.P(packageIntro);
         htmlTree.addContent(packagePara);
         HtmlTree ulPackage = new HtmlTree(HtmlTag.UL);
-        ulPackage.addContent(HtmlTree.LI(
-                contents.interfacesItalic));
-        ulPackage.addContent(HtmlTree.LI(
-                contents.classes));
-        ulPackage.addContent(HtmlTree.LI(
-                contents.enums));
-        ulPackage.addContent(HtmlTree.LI(
-                contents.exceptions));
-        ulPackage.addContent(HtmlTree.LI(
-                contents.errors));
-        ulPackage.addContent(HtmlTree.LI(
-                contents.annotationTypes));
+        ulPackage.addContent(HtmlTree.LI(contents.interfacesItalic));
+        ulPackage.addContent(HtmlTree.LI(contents.classes));
+        ulPackage.addContent(HtmlTree.LI(contents.enums));
+        ulPackage.addContent(HtmlTree.LI(contents.exceptions));
+        ulPackage.addContent(HtmlTree.LI(contents.errors));
+        ulPackage.addContent(HtmlTree.LI(contents.annotationTypes));
         htmlTree.addContent(ulPackage);
         if (configuration.allowTag(HtmlTag.SECTION)) {
             ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
         } else {
             ul.addContent(htmlTree);
         }
+
+        // Class/interface
         Content classHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
-                contents.getContent("doclet.Help_line_5"));
+                contents.getContent("doclet.help.class_interface.head"));
         htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                 ? HtmlTree.SECTION(classHead)
                 : HtmlTree.LI(HtmlStyle.blockList, classHead);
-        Content line6 = contents.getContent("doclet.Help_line_6");
-        Content classPara = HtmlTree.P(line6);
+        Content classIntro = contents.getContent("doclet.help.class_interface.intro");
+        Content classPara = HtmlTree.P(classIntro);
         htmlTree.addContent(classPara);
         HtmlTree ul1 = new HtmlTree(HtmlTag.UL);
-        ul1.addContent(HtmlTree.LI(
-                contents.getContent("doclet.Help_line_7")));
-        ul1.addContent(HtmlTree.LI(
-                contents.getContent("doclet.Help_line_8")));
-        ul1.addContent(HtmlTree.LI(
-                contents.getContent("doclet.Help_line_9")));
-        ul1.addContent(HtmlTree.LI(
-                contents.getContent("doclet.Help_line_10")));
-        ul1.addContent(HtmlTree.LI(
-                contents.getContent("doclet.Help_line_11")));
-        ul1.addContent(HtmlTree.LI(
-                contents.getContent("doclet.Help_line_12")));
+        ul1.addContent(HtmlTree.LI(contents.getContent("doclet.help.class_interface.inheritance_diagram")));
+        ul1.addContent(HtmlTree.LI(contents.getContent("doclet.help.class_interface.subclasses")));
+        ul1.addContent(HtmlTree.LI(contents.getContent("doclet.help.class_interface.subinterfaces")));
+        ul1.addContent(HtmlTree.LI(contents.getContent("doclet.help.class_interface.implementations")));
+        ul1.addContent(HtmlTree.LI(contents.getContent("doclet.help.class_interface.declaration")));
+        ul1.addContent(HtmlTree.LI(contents.getContent("doclet.help.class_interface.description")));
         htmlTree.addContent(ul1);
         HtmlTree ul2 = new HtmlTree(HtmlTag.UL);
         ul2.addContent(HtmlTree.LI(contents.nestedClassSummary));
@@ -204,72 +199,66 @@
         ul3.addContent(HtmlTree.LI(contents.constructorDetailsLabel));
         ul3.addContent(HtmlTree.LI(contents.methodDetailLabel));
         htmlTree.addContent(ul3);
-        Content line13 = contents.getContent("doclet.Help_line_13");
-        Content para = HtmlTree.P(line13);
+        Content classSummary = contents.getContent("doclet.help.class_interface.summary");
+        Content para = HtmlTree.P(classSummary);
         htmlTree.addContent(para);
         if (configuration.allowTag(HtmlTag.SECTION)) {
             ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
         } else {
             ul.addContent(htmlTree);
         }
-        //Annotation Types
+
+        // Annotation Types
         Content aHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
                 contents.annotationType);
         htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                 ? HtmlTree.SECTION(aHead)
                 : HtmlTree.LI(HtmlStyle.blockList, aHead);
-        Content aline1 = contents.getContent("doclet.Help_annotation_type_line_1");
-        Content aPara = HtmlTree.P(aline1);
+        Content aIntro = contents.getContent("doclet.help.annotation_type.intro");
+        Content aPara = HtmlTree.P(aIntro);
         htmlTree.addContent(aPara);
         HtmlTree aul = new HtmlTree(HtmlTag.UL);
-        aul.addContent(HtmlTree.LI(
-                contents.getContent("doclet.Help_annotation_type_line_2")));
-        aul.addContent(HtmlTree.LI(
-                contents.getContent("doclet.Help_annotation_type_line_3")));
-        aul.addContent(HtmlTree.LI(
-                contents.annotateTypeRequiredMemberSummaryLabel));
-        aul.addContent(HtmlTree.LI(
-                contents.annotateTypeOptionalMemberSummaryLabel));
-        aul.addContent(HtmlTree.LI(
-                contents.annotationTypeMemberDetail));
+        aul.addContent(HtmlTree.LI(contents.getContent("doclet.help.annotation_type.declaration")));
+        aul.addContent(HtmlTree.LI(contents.getContent("doclet.help.annotation_type.description")));
+        aul.addContent(HtmlTree.LI(contents.annotateTypeRequiredMemberSummaryLabel));
+        aul.addContent(HtmlTree.LI(contents.annotateTypeOptionalMemberSummaryLabel));
+        aul.addContent(HtmlTree.LI(contents.annotationTypeMemberDetail));
         htmlTree.addContent(aul);
         if (configuration.allowTag(HtmlTag.SECTION)) {
             ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
         } else {
             ul.addContent(htmlTree);
         }
-        //Enums
-        Content enumHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
-                contents.enum_);
+
+        // Enums
+        Content enumHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING, contents.enum_);
         htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                 ? HtmlTree.SECTION(enumHead)
                 : HtmlTree.LI(HtmlStyle.blockList, enumHead);
-        Content eline1 = contents.getContent("doclet.Help_enum_line_1");
-        Content enumPara = HtmlTree.P(eline1);
+        Content eIntro = contents.getContent("doclet.help.enum.intro");
+        Content enumPara = HtmlTree.P(eIntro);
         htmlTree.addContent(enumPara);
         HtmlTree eul = new HtmlTree(HtmlTag.UL);
-        eul.addContent(HtmlTree.LI(
-                contents.getContent("doclet.Help_enum_line_2")));
-        eul.addContent(HtmlTree.LI(
-                contents.getContent("doclet.Help_enum_line_3")));
-        eul.addContent(HtmlTree.LI(
-                contents.enumConstantSummary));
-        eul.addContent(HtmlTree.LI(
-                contents.enumConstantDetailLabel));
+        eul.addContent(HtmlTree.LI(contents.getContent("doclet.help.enum.declaration")));
+        eul.addContent(HtmlTree.LI(contents.getContent("doclet.help.enum.definition")));
+        eul.addContent(HtmlTree.LI(contents.enumConstantSummary));
+        eul.addContent(HtmlTree.LI(contents.enumConstantDetailLabel));
         htmlTree.addContent(eul);
         if (configuration.allowTag(HtmlTag.SECTION)) {
             ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
         } else {
             ul.addContent(htmlTree);
         }
+
+        // Class Use
         if (configuration.classuse) {
             Content useHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
-                    contents.getContent("doclet.Help_line_14"));
+                    contents.getContent("doclet.help.use.head"));
             htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                     ? HtmlTree.SECTION(useHead)
                     : HtmlTree.LI(HtmlStyle.blockList, useHead);
-            Content line15 = contents.getContent("doclet.Help_line_15");
-            Content usePara = HtmlTree.P(line15);
+            Content useBody = contents.getContent("doclet.help.use.body");
+            Content usePara = HtmlTree.P(useBody);
             htmlTree.addContent(usePara);
             if (configuration.allowTag(HtmlTag.SECTION)) {
                 ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
@@ -277,23 +266,23 @@
                 ul.addContent(htmlTree);
             }
         }
+
+        // Tree
         if (configuration.createtree) {
             Content treeHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
-                    contents.getContent("doclet.Help_line_16"));
+                    contents.getContent("doclet.help.tree.head"));
             htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                     ? HtmlTree.SECTION(treeHead)
                     : HtmlTree.LI(HtmlStyle.blockList, treeHead);
-            Content line17 = contents.getContent("doclet.Help_line_17_with_tree_link",
+            Content treeIntro = contents.getContent("doclet.help.tree.intro",
                     links.createLink(DocPaths.OVERVIEW_TREE,
                     configuration.getText("doclet.Class_Hierarchy")),
                     HtmlTree.CODE(new StringContent("java.lang.Object")));
-            Content treePara = HtmlTree.P(line17);
+            Content treePara = HtmlTree.P(treeIntro);
             htmlTree.addContent(treePara);
             HtmlTree tul = new HtmlTree(HtmlTag.UL);
-            tul.addContent(HtmlTree.LI(
-                    contents.getContent("doclet.Help_line_18")));
-            tul.addContent(HtmlTree.LI(
-                    contents.getContent("doclet.Help_line_19")));
+            tul.addContent(HtmlTree.LI(contents.getContent("doclet.help.tree.overview")));
+            tul.addContent(HtmlTree.LI(contents.getContent("doclet.help.tree.package")));
             htmlTree.addContent(tul);
             if (configuration.allowTag(HtmlTag.SECTION)) {
                 ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
@@ -301,17 +290,18 @@
                 ul.addContent(htmlTree);
             }
         }
-        if (!(configuration.nodeprecatedlist ||
-                  configuration.nodeprecated)) {
+
+        // Deprecated
+        if (!(configuration.nodeprecatedlist || configuration.nodeprecated)) {
             Content dHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
                     contents.deprecatedAPI);
             htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                     ? HtmlTree.SECTION(dHead)
                     : HtmlTree.LI(HtmlStyle.blockList, dHead);
-            Content line20 = contents.getContent("doclet.Help_line_20_with_deprecated_api_link",
+            Content deprBody = contents.getContent("doclet.help.deprecated.body",
                     links.createLink(DocPaths.DEPRECATED_LIST,
                     configuration.getText("doclet.Deprecated_API")));
-            Content dPara = HtmlTree.P(line20);
+            Content dPara = HtmlTree.P(deprBody);
             htmlTree.addContent(dPara);
             if (configuration.allowTag(HtmlTag.SECTION)) {
                 ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
@@ -319,6 +309,8 @@
                 ul.addContent(htmlTree);
             }
         }
+
+        // Index
         if (configuration.createindex) {
             Content indexlink;
             if (configuration.splitindex) {
@@ -329,12 +321,12 @@
                         configuration.getText("doclet.Index"));
             }
             Content indexHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
-                    contents.getContent("doclet.Help_line_21"));
+                    contents.getContent("doclet.help.index.head"));
             htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                     ? HtmlTree.SECTION(indexHead)
                     : HtmlTree.LI(HtmlStyle.blockList, indexHead);
-            Content line22 = contents.getContent("doclet.Help_line_22", indexlink);
-            Content indexPara = HtmlTree.P(line22);
+            Content indexBody = contents.getContent("doclet.help.index.body", indexlink);
+            Content indexPara = HtmlTree.P(indexBody);
             htmlTree.addContent(indexPara);
             if (configuration.allowTag(HtmlTag.SECTION)) {
                 ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
@@ -342,13 +334,15 @@
                 ul.addContent(htmlTree);
             }
         }
+
+        // Prev/Next
         Content prevHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
-                contents.getContent("doclet.Help_line_23"));
+                contents.getContent("doclet.help.prev_next.head"));
         htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                 ? HtmlTree.SECTION(prevHead)
                 : HtmlTree.LI(HtmlStyle.blockList, prevHead);
-        Content line24 = contents.getContent("doclet.Help_line_24");
-        Content prevPara = HtmlTree.P(line24);
+        Content prevBody = contents.getContent("doclet.help.prev_next.body");
+        Content prevPara = HtmlTree.P(prevBody);
         htmlTree.addContent(prevPara);
         if (configuration.allowTag(HtmlTag.SECTION)) {
             ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
@@ -356,14 +350,15 @@
             ul.addContent(htmlTree);
         }
 
+        // Frames
         if (configuration.frames) {
             Content frameHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
-                    contents.getContent("doclet.Help_line_25"));
+                    contents.getContent("doclet.help.frames.head"));
             htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                     ? HtmlTree.SECTION(frameHead)
                     : HtmlTree.LI(HtmlStyle.blockList, frameHead);
-            Content line26 = contents.getContent("doclet.Help_line_26");
-            Content framePara = HtmlTree.P(line26);
+            Content framesBody = contents.getContent("doclet.help.frames.body");
+            Content framePara = HtmlTree.P(framesBody);
             htmlTree.addContent(framePara);
         }
 
@@ -373,51 +368,58 @@
             ul.addContent(htmlTree);
         }
 
+        // All Classes
         Content allclassesHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
                 contents.allClassesLabel);
         htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                 ? HtmlTree.SECTION(allclassesHead)
                 : HtmlTree.LI(HtmlStyle.blockList, allclassesHead);
-        Content line27 = contents.getContent("doclet.Help_line_27",
+        Content allClassesBody = contents.getContent("doclet.help.all_classes.body",
                 links.createLink(DocPaths.AllClasses(configuration.frames),
                 resources.getText("doclet.All_Classes")));
-        Content allclassesPara = HtmlTree.P(line27);
+        Content allclassesPara = HtmlTree.P(allClassesBody);
         htmlTree.addContent(allclassesPara);
         if (configuration.allowTag(HtmlTag.SECTION)) {
             ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
         } else {
             ul.addContent(htmlTree);
         }
+
+        // Serialized Form
         Content sHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
                 contents.serializedForm);
         htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                 ? HtmlTree.SECTION(sHead)
                 : HtmlTree.LI(HtmlStyle.blockList, sHead);
-        Content line28 = contents.getContent("doclet.Help_line_28");
-        Content serialPara = HtmlTree.P(line28);
+        Content serialBody = contents.getContent("doclet.help.serial_form.body");
+        Content serialPara = HtmlTree.P(serialBody);
         htmlTree.addContent(serialPara);
         if (configuration.allowTag(HtmlTag.SECTION)) {
             ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
         } else {
             ul.addContent(htmlTree);
         }
+
+        // Constant Field Values
         Content constHead = HtmlTree.HEADING(HtmlConstants.CONTENT_HEADING,
                 contents.constantsSummaryTitle);
         htmlTree = (configuration.allowTag(HtmlTag.SECTION))
                 ? HtmlTree.SECTION(constHead)
                 : HtmlTree.LI(HtmlStyle.blockList, constHead);
-        Content line29 = contents.getContent("doclet.Help_line_29",
+        Content constantsBody = contents.getContent("doclet.help.constants.body",
                 links.createLink(DocPaths.CONSTANT_VALUES,
                 resources.getText("doclet.Constants_Summary")));
-        Content constPara = HtmlTree.P(line29);
+        Content constPara = HtmlTree.P(constantsBody);
         htmlTree.addContent(constPara);
         if (configuration.allowTag(HtmlTag.SECTION)) {
             ul.addContent(HtmlTree.LI(HtmlStyle.blockList, htmlTree));
         } else {
             ul.addContent(htmlTree);
         }
+
         Content divContent = HtmlTree.DIV(HtmlStyle.contentContainer, ul);
-        Content line30 = HtmlTree.SPAN(HtmlStyle.emphasizedPhrase, contents.getContent("doclet.Help_line_30"));
+        Content line30 = HtmlTree.SPAN(HtmlStyle.emphasizedPhrase,
+                contents.getContent("doclet.help.footnote"));
         divContent.addContent(line30);
         if (configuration.allowTag(HtmlTag.MAIN)) {
             mainTree.addContent(divContent);
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties	Mon Feb 05 10:43:31 2018 -0500
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties	Mon Feb 05 11:35:56 2018 -0800
@@ -89,7 +89,9 @@
 doclet.Subinterfaces=All Known Subinterfaces:
 doclet.Implementing_Classes=All Known Implementing Classes:
 doclet.Functional_Interface=Functional Interface:
-doclet.Functional_Interface_Message=This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+doclet.Functional_Interface_Message=\
+    This is a functional interface and can therefore be used as the assignment target for a lambda \
+    expression or method reference.
 doclet.also=also
 doclet.Frames=Frames
 doclet.No_Frames=No Frames
@@ -105,42 +107,102 @@
 doclet.Enclosing_Interface=Enclosing interface:
 doclet.Window_Source_title=Source code
 doclet.Window_Help_title=API Help
-doclet.Help_line_1=How This API Document Is Organized
-doclet.Help_line_2=This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
-doclet.Help_line_3=The {0} page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.
-doclet.Help_line_4=Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:
-doclet.Help_line_5=Class/Interface
-doclet.Help_line_6=Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:
-doclet.Help_line_7=Class inheritance diagram
-doclet.Help_line_8=Direct Subclasses
-doclet.Help_line_9=All Known Subinterfaces
-doclet.Help_line_10=All Known Implementing Classes
-doclet.Help_line_11=Class/interface declaration
-doclet.Help_line_12=Class/interface description
-doclet.Help_line_13=Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
-doclet.Help_line_14=Use
-doclet.Help_line_15=Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
-doclet.Help_line_16=Tree (Class Hierarchy)
-doclet.Help_line_17_with_tree_link=There is a {0} page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with {1}. The interfaces do not inherit from {1}.
-doclet.Help_line_18=When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
-doclet.Help_line_19=When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
-doclet.Help_line_20_with_deprecated_api_link=The {0} page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
-doclet.Help_line_21=Index
-doclet.Help_line_22=The {0} contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
-doclet.Help_line_23=Prev/Next
-doclet.Help_line_24=These links take you to the next or previous class, interface, package, or related page.
-doclet.Help_line_25=Frames/No Frames
-doclet.Help_line_26=These links show and hide the HTML frames.  All pages are available with or without frames.
-doclet.Help_line_27=The {0} link shows all classes and interfaces except non-static nested types.
-doclet.Help_line_28=Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
-doclet.Help_line_29=The {0} page lists the static final fields and their values.
-doclet.Help_line_30=This help file applies to API documentation generated using the standard doclet.
-doclet.Help_enum_line_1=Each enum has its own separate page with the following sections:
-doclet.Help_enum_line_2=Enum declaration
-doclet.Help_enum_line_3=Enum description
-doclet.Help_annotation_type_line_1=Each annotation type has its own separate page with the following sections:
-doclet.Help_annotation_type_line_2=Annotation Type declaration
-doclet.Help_annotation_type_line_3=Annotation Type description
+
+doclet.help.main_heading=\
+    How This API Document Is Organized
+doclet.help.intro=\
+    This API (Application Programming Interface) document has pages corresponding to the items in \
+    the navigation bar, described as follows.
+doclet.help.overview.body=\
+    The {0} page is the front page of this API document and provides a list of all packages with a \
+    summary for each.  This page can also contain an overall description of the set of packages.
+doclet.help.package.intro=\
+    Each package has a page that contains a list of its classes and interfaces, with a summary for \
+    each. This page can contain six categories:
+doclet.help.class_interface.head=\
+    Class/Interface
+doclet.help.class_interface.intro=\
+    Each class, interface, nested class and nested interface has its own separate page. Each of \
+    these pages has three sections consisting of a class/interface description, summary tables, \
+    and detailed member descriptions:
+doclet.help.class_interface.inheritance_diagram=\
+    Class inheritance diagram
+doclet.help.class_interface.subclasses=\
+    Direct Subclasses
+doclet.help.class_interface.subinterfaces=\
+    All Known Subinterfaces
+doclet.help.class_interface.implementations=\
+    All Known Implementing Classes
+doclet.help.class_interface.declaration=\
+    Class/interface declaration
+doclet.help.class_interface.description=\
+    Class/interface description
+doclet.help.class_interface.summary=\
+    Each summary entry contains the first sentence from the detailed description for that item. \
+    The summary entries are alphabetical, while the detailed descriptions are in the order they \
+    appear in the source code. This preserves the logical groupings established by the programmer.
+doclet.help.use.head=\
+    Use
+doclet.help.use.body=\
+    Each documented package, class and interface has its own Use page.  This page describes what \
+    packages, classes, methods, constructors and fields use any part of the given class or \
+    package. Given a class or interface A, its Use page includes subclasses of A, fields declared \
+    as A, methods that return A, and methods and constructors with parameters of type A.  \
+    You can access this page by first going to the package, class or interface, then clicking on \
+    the "Use" link in the navigation bar.
+doclet.help.tree.head=\
+    Tree (Class Hierarchy)
+doclet.help.tree.intro=\
+    There is a {0} page for all packages, plus a hierarchy for each package. Each hierarchy page \
+    contains a list of classes and a list of interfaces. The classes are organized by inheritance \
+    structure starting with {1}. The interfaces do not inherit from {1}.
+doclet.help.tree.overview=\
+    When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
+doclet.help.tree.package=\
+    When viewing a particular package, class or interface page, clicking "Tree" displays the \
+    hierarchy for only that package.
+doclet.help.deprecated.body=\
+    The {0} page lists all of the API that have been deprecated. A deprecated API is not \
+    recommended for use, generally due to improvements, and a replacement API is usually given. \
+    Deprecated APIs may be removed in future implementations.
+doclet.help.index.head=\
+    Index
+doclet.help.index.body=\
+    The {0} contains an alphabetic list of all classes, interfaces, constructors, methods, \
+    and fields.
+doclet.help.prev_next.head=\
+    Prev/Next
+doclet.help.prev_next.body=\
+    These links take you to the next or previous class, interface, package, or related page.
+doclet.help.frames.head=\
+    Frames/No Frames
+doclet.help.frames.body=\
+    These links show and hide the HTML frames.  All pages are available with or without frames.
+doclet.help.all_classes.body=\
+    The {0} link shows all classes and interfaces except non-static nested types.
+doclet.help.serial_form.body=\
+    Each serializable or externalizable class has a description of its serialization fields and \
+    methods. This information is of interest to re-implementors, not to developers using the API. \
+    While there is no link in the navigation bar, you can get to this information by going to any \
+    serialized class and clicking "Serialized Form" in the "See also" section of the class \
+    description.
+doclet.help.constants.body=\
+    The {0} page lists the static final fields and their values.
+doclet.help.footnote=\
+    This help file applies to API documentation generated using the standard doclet.
+doclet.help.enum.intro=\
+    Each enum has its own separate page with the following sections:
+doclet.help.enum.declaration=\
+    Enum declaration
+doclet.help.enum.definition=\
+    Enum description
+doclet.help.annotation_type.intro=\
+    Each annotation type has its own separate page with the following sections:
+doclet.help.annotation_type.declaration=\
+    Annotation Type declaration
+doclet.help.annotation_type.description=\
+    Annotation Type description
+
 doclet.ClassUse_Packages.that.use.0=Packages that use {0}
 doclet.ClassUse_Uses.of.0.in.1=Uses of {0} in {1}
 doclet.ClassUse_Classes.in.0.used.by.1=Classes in {0} used by {1}
@@ -152,7 +214,8 @@
 doclet.ClassUse_FieldAnnotations=Fields in {1} with annotations of type {0}
 doclet.ClassUse_MethodAnnotations=Methods in {1} with annotations of type {0}
 doclet.ClassUse_MethodParameterAnnotations=Method parameters in {1} with annotations of type {0}
-doclet.ClassUse_MethodReturnTypeParameter=Methods in {1} that return types with arguments of type {0}
+doclet.ClassUse_MethodReturnTypeParameter=\
+    Methods in {1} that return types with arguments of type {0}
 doclet.ClassUse_Subclass=Subclasses of {0} in {1}
 doclet.ClassUse_Subinterface=Subinterfaces of {0} in {1}
 doclet.ClassUse_ImplementingClass=Classes in {1} that implement {0}
@@ -162,9 +225,11 @@
 doclet.ClassUse_MethodArgsTypeParameters=Method parameters in {1} with type arguments of type {0}
 doclet.ClassUse_MethodThrows=Methods in {1} that throw {0}
 doclet.ClassUse_ConstructorAnnotations=Constructors in {1} with annotations of type {0}
-doclet.ClassUse_ConstructorParameterAnnotations=Constructor parameters in {1} with annotations of type {0}
+doclet.ClassUse_ConstructorParameterAnnotations=\
+    Constructor parameters in {1} with annotations of type {0}
 doclet.ClassUse_ConstructorArgs=Constructors in {1} with parameters of type {0}
-doclet.ClassUse_ConstructorArgsTypeParameters=Constructor parameters in {1} with type arguments of type {0}
+doclet.ClassUse_ConstructorArgsTypeParameters=\
+    Constructor parameters in {1} with type arguments of type {0}
 doclet.ClassUse_ConstructorThrows=Constructors in {1} that throw {0}
 doclet.ClassUse_No.usage.of.0=No usage of {0}
 doclet.Window_ClassUse_Header=Uses of {0} {1}