langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageFrameWriter.java
changeset 40303 96a1226aca18
parent 39364 bd6d4a7936b4
child 40508 74ef30d16fb9
equal deleted inserted replaced
40302:8c0d8d2c3519 40303:96a1226aca18
    36 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
    36 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
    37 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
    37 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
    38 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
    38 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
    39 import jdk.javadoc.internal.doclets.toolkit.Configuration;
    39 import jdk.javadoc.internal.doclets.toolkit.Configuration;
    40 import jdk.javadoc.internal.doclets.toolkit.Content;
    40 import jdk.javadoc.internal.doclets.toolkit.Content;
       
    41 import jdk.javadoc.internal.doclets.toolkit.Messages;
    41 import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
    42 import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
    42 import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
    43 import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
    43 import jdk.javadoc.internal.doclets.toolkit.util.DocletAbortException;
    44 import jdk.javadoc.internal.doclets.toolkit.util.DocletAbortException;
    44 
    45 
    45 
    46 
    78      * if it doesn't exist.
    79      * if it doesn't exist.
    79      *
    80      *
    80      * @param configuration the configuration of the doclet.
    81      * @param configuration the configuration of the doclet.
    81      * @param packageElement PackageElement under consideration.
    82      * @param packageElement PackageElement under consideration.
    82      */
    83      */
    83     public PackageFrameWriter(ConfigurationImpl configuration, PackageElement packageElement)
    84     public PackageFrameWriter(ConfigurationImpl configuration, PackageElement packageElement) {
    84             throws IOException {
       
    85         super(configuration, DocPath.forPackage(packageElement).resolve(DocPaths.PACKAGE_FRAME));
    85         super(configuration, DocPath.forPackage(packageElement).resolve(DocPaths.PACKAGE_FRAME));
    86         this.packageElement = packageElement;
    86         this.packageElement = packageElement;
    87         if (utils.getSpecifiedPackages().isEmpty()) {
    87         if (utils.getSpecifiedPackages().isEmpty()) {
    88             documentedClasses = new TreeSet<>(utils.makeGeneralPurposeComparator());
    88             documentedClasses = new TreeSet<>(utils.makeGeneralPurposeComparator());
    89             documentedClasses.addAll(configuration.docEnv.getIncludedClasses());
    89             documentedClasses.addAll(configuration.docEnv.getIncludedClasses());
   117             if (configuration.allowTag(HtmlTag.MAIN)) {
   117             if (configuration.allowTag(HtmlTag.MAIN)) {
   118                 body.addContent(htmlTree);
   118                 body.addContent(htmlTree);
   119             }
   119             }
   120             packgen.printHtmlDocument(
   120             packgen.printHtmlDocument(
   121                     configuration.metakeywords.getMetaKeywords(packageElement), false, body);
   121                     configuration.metakeywords.getMetaKeywords(packageElement), false, body);
   122             packgen.close();
       
   123         } catch (IOException exc) {
   122         } catch (IOException exc) {
   124             configuration.standardmessage.error(
   123             Messages messages = configuration.getMessages();
   125                     "doclet.exception_encountered",
   124             messages.error("doclet.exception_encountered",
   126                     exc.toString(), DocPaths.PACKAGE_FRAME.getPath());
   125                     exc.toString(), DocPaths.PACKAGE_FRAME.getPath());
   127             throw new DocletAbortException(exc);
   126             throw new DocletAbortException(exc);
   128         }
   127         }
   129     }
   128     }
   130 
   129 
   137      */
   136      */
   138     protected void addClassListing(HtmlTree contentTree) {
   137     protected void addClassListing(HtmlTree contentTree) {
   139         Configuration config = configuration;
   138         Configuration config = configuration;
   140         if (utils.isIncluded(packageElement)) {
   139         if (utils.isIncluded(packageElement)) {
   141             addClassKindListing(utils.getInterfaces(packageElement),
   140             addClassKindListing(utils.getInterfaces(packageElement),
   142                 getResource("doclet.Interfaces"), contentTree);
   141                 contents.interfaces, contentTree);
   143             addClassKindListing(utils.getOrdinaryClasses(packageElement),
   142             addClassKindListing(utils.getOrdinaryClasses(packageElement),
   144                 getResource("doclet.Classes"), contentTree);
   143                 contents.classes, contentTree);
   145             addClassKindListing(utils.getEnums(packageElement),
   144             addClassKindListing(utils.getEnums(packageElement),
   146                 getResource("doclet.Enums"), contentTree);
   145                 contents.enums, contentTree);
   147             addClassKindListing(utils.getExceptions(packageElement),
   146             addClassKindListing(utils.getExceptions(packageElement),
   148                 getResource("doclet.Exceptions"), contentTree);
   147                 contents.exceptions, contentTree);
   149             addClassKindListing(utils.getErrors(packageElement),
   148             addClassKindListing(utils.getErrors(packageElement),
   150                 getResource("doclet.Errors"), contentTree);
   149                 contents.errors, contentTree);
   151             addClassKindListing(utils.getAnnotationTypes(packageElement),
   150             addClassKindListing(utils.getAnnotationTypes(packageElement),
   152                 getResource("doclet.AnnotationTypes"), contentTree);
   151                 contents.annotationTypes, contentTree);
   153         } else {
   152         } else {
   154             addClassKindListing(config.typeElementCatalog.interfaces(packageElement),
   153             addClassKindListing(config.typeElementCatalog.interfaces(packageElement),
   155                 getResource("doclet.Interfaces"), contentTree);
   154                 contents.interfaces, contentTree);
   156             addClassKindListing(config.typeElementCatalog.ordinaryClasses(packageElement),
   155             addClassKindListing(config.typeElementCatalog.ordinaryClasses(packageElement),
   157                 getResource("doclet.Classes"), contentTree);
   156                 contents.classes, contentTree);
   158             addClassKindListing(config.typeElementCatalog.enums(packageElement),
   157             addClassKindListing(config.typeElementCatalog.enums(packageElement),
   159                 getResource("doclet.Enums"), contentTree);
   158                 contents.enums, contentTree);
   160             addClassKindListing(config.typeElementCatalog.exceptions(packageElement),
   159             addClassKindListing(config.typeElementCatalog.exceptions(packageElement),
   161                 getResource("doclet.Exceptions"), contentTree);
   160                 contents.exceptions, contentTree);
   162             addClassKindListing(config.typeElementCatalog.errors(packageElement),
   161             addClassKindListing(config.typeElementCatalog.errors(packageElement),
   163                 getResource("doclet.Errors"), contentTree);
   162                 contents.errors, contentTree);
   164             addClassKindListing(config.typeElementCatalog.annotationTypes(packageElement),
   163             addClassKindListing(config.typeElementCatalog.annotationTypes(packageElement),
   165                 getResource("doclet.AnnotationTypes"), contentTree);
   164                 contents.annotationTypes, contentTree);
   166         }
   165         }
   167     }
   166     }
   168 
   167 
   169     /**
   168     /**
   170      * Add specific class kind listing. Also add label to the listing.
   169      * Add specific class kind listing. Also add label to the listing.