langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java
changeset 25454 376a52c9540c
parent 17569 ef80738645e2
equal deleted inserted replaced
25453:be80cf0463b3 25454:376a52c9540c
     1 /*
     1 /*
     2  * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    27 
    27 
    28 import java.io.*;
    28 import java.io.*;
    29 
    29 
    30 import com.sun.javadoc.*;
    30 import com.sun.javadoc.*;
    31 import com.sun.tools.doclets.internal.toolkit.*;
    31 import com.sun.tools.doclets.internal.toolkit.*;
    32 import com.sun.tools.doclets.internal.toolkit.util.*;
       
    33 
    32 
    34 /**
    33 /**
    35  * Builds the summary for a given package.
    34  * Builds the summary for a given package.
    36  *
    35  *
    37  *  <p><b>This is NOT part of any supported API.
    36  *  <p><b>This is NOT part of any supported API.
   118      *
   117      *
   119      * @param node the XML element that specifies which components to document
   118      * @param node the XML element that specifies which components to document
   120      * @param contentTree the content tree to which the documentation will be added
   119      * @param contentTree the content tree to which the documentation will be added
   121      */
   120      */
   122     public void buildPackageDoc(XMLNode node, Content contentTree) throws Exception {
   121     public void buildPackageDoc(XMLNode node, Content contentTree) throws Exception {
   123         contentTree = packageWriter.getPackageHeader(Util.getPackageName(packageDoc));
   122         contentTree = packageWriter.getPackageHeader(utils.getPackageName(packageDoc));
   124         buildChildren(node, contentTree);
   123         buildChildren(node, contentTree);
   125         packageWriter.addPackageFooter(contentTree);
   124         packageWriter.addPackageFooter(contentTree);
   126         packageWriter.printDocument(contentTree);
   125         packageWriter.printDocument(contentTree);
   127         packageWriter.close();
   126         packageWriter.close();
   128         Util.copyDocFiles(configuration, packageDoc);
   127         utils.copyDocFiles(configuration, packageDoc);
   129     }
   128     }
   130 
   129 
   131     /**
   130     /**
   132      * Build the content for the package doc.
   131      * Build the content for the package doc.
   133      *
   132      *
   172         };
   171         };
   173         ClassDoc[] interfaces =
   172         ClassDoc[] interfaces =
   174                 packageDoc.isIncluded()
   173                 packageDoc.isIncluded()
   175                         ? packageDoc.interfaces()
   174                         ? packageDoc.interfaces()
   176                         : configuration.classDocCatalog.interfaces(
   175                         : configuration.classDocCatalog.interfaces(
   177                                 Util.getPackageName(packageDoc));
   176                                 utils.getPackageName(packageDoc));
   178         interfaces = Util.filterOutPrivateClasses(interfaces, configuration.javafx);
   177         interfaces = utils.filterOutPrivateClasses(interfaces, configuration.javafx);
   179         if (interfaces.length > 0) {
   178         if (interfaces.length > 0) {
   180             packageWriter.addClassesSummary(
   179             packageWriter.addClassesSummary(
   181                     interfaces,
   180                     interfaces,
   182                     configuration.getText("doclet.Interface_Summary"),
   181                     configuration.getText("doclet.Interface_Summary"),
   183                     interfaceTableSummary, interfaceTableHeader, summaryContentTree);
   182                     interfaceTableSummary, interfaceTableHeader, summaryContentTree);
   202         };
   201         };
   203         ClassDoc[] classes =
   202         ClassDoc[] classes =
   204                 packageDoc.isIncluded()
   203                 packageDoc.isIncluded()
   205                         ? packageDoc.ordinaryClasses()
   204                         ? packageDoc.ordinaryClasses()
   206                         : configuration.classDocCatalog.ordinaryClasses(
   205                         : configuration.classDocCatalog.ordinaryClasses(
   207                                 Util.getPackageName(packageDoc));
   206                                 utils.getPackageName(packageDoc));
   208         classes = Util.filterOutPrivateClasses(classes, configuration.javafx);
   207         classes = utils.filterOutPrivateClasses(classes, configuration.javafx);
   209         if (classes.length > 0) {
   208         if (classes.length > 0) {
   210             packageWriter.addClassesSummary(
   209             packageWriter.addClassesSummary(
   211                     classes,
   210                     classes,
   212                     configuration.getText("doclet.Class_Summary"),
   211                     configuration.getText("doclet.Class_Summary"),
   213                     classTableSummary, classTableHeader, summaryContentTree);
   212                     classTableSummary, classTableHeader, summaryContentTree);
   232         };
   231         };
   233         ClassDoc[] enums =
   232         ClassDoc[] enums =
   234                 packageDoc.isIncluded()
   233                 packageDoc.isIncluded()
   235                         ? packageDoc.enums()
   234                         ? packageDoc.enums()
   236                         : configuration.classDocCatalog.enums(
   235                         : configuration.classDocCatalog.enums(
   237                                 Util.getPackageName(packageDoc));
   236                                 utils.getPackageName(packageDoc));
   238         enums = Util.filterOutPrivateClasses(enums, configuration.javafx);
   237         enums = utils.filterOutPrivateClasses(enums, configuration.javafx);
   239         if (enums.length > 0) {
   238         if (enums.length > 0) {
   240             packageWriter.addClassesSummary(
   239             packageWriter.addClassesSummary(
   241                     enums,
   240                     enums,
   242                     configuration.getText("doclet.Enum_Summary"),
   241                     configuration.getText("doclet.Enum_Summary"),
   243                     enumTableSummary, enumTableHeader, summaryContentTree);
   242                     enumTableSummary, enumTableHeader, summaryContentTree);
   262         };
   261         };
   263         ClassDoc[] exceptions =
   262         ClassDoc[] exceptions =
   264                 packageDoc.isIncluded()
   263                 packageDoc.isIncluded()
   265                         ? packageDoc.exceptions()
   264                         ? packageDoc.exceptions()
   266                         : configuration.classDocCatalog.exceptions(
   265                         : configuration.classDocCatalog.exceptions(
   267                                 Util.getPackageName(packageDoc));
   266                                 utils.getPackageName(packageDoc));
   268         exceptions = Util.filterOutPrivateClasses(exceptions, configuration.javafx);
   267         exceptions = utils.filterOutPrivateClasses(exceptions, configuration.javafx);
   269         if (exceptions.length > 0) {
   268         if (exceptions.length > 0) {
   270             packageWriter.addClassesSummary(
   269             packageWriter.addClassesSummary(
   271                     exceptions,
   270                     exceptions,
   272                     configuration.getText("doclet.Exception_Summary"),
   271                     configuration.getText("doclet.Exception_Summary"),
   273                     exceptionTableSummary, exceptionTableHeader, summaryContentTree);
   272                     exceptionTableSummary, exceptionTableHeader, summaryContentTree);
   292         };
   291         };
   293         ClassDoc[] errors =
   292         ClassDoc[] errors =
   294                 packageDoc.isIncluded()
   293                 packageDoc.isIncluded()
   295                         ? packageDoc.errors()
   294                         ? packageDoc.errors()
   296                         : configuration.classDocCatalog.errors(
   295                         : configuration.classDocCatalog.errors(
   297                                 Util.getPackageName(packageDoc));
   296                                 utils.getPackageName(packageDoc));
   298         errors = Util.filterOutPrivateClasses(errors, configuration.javafx);
   297         errors = utils.filterOutPrivateClasses(errors, configuration.javafx);
   299         if (errors.length > 0) {
   298         if (errors.length > 0) {
   300             packageWriter.addClassesSummary(
   299             packageWriter.addClassesSummary(
   301                     errors,
   300                     errors,
   302                     configuration.getText("doclet.Error_Summary"),
   301                     configuration.getText("doclet.Error_Summary"),
   303                     errorTableSummary, errorTableHeader, summaryContentTree);
   302                     errorTableSummary, errorTableHeader, summaryContentTree);
   322         };
   321         };
   323         ClassDoc[] annotationTypes =
   322         ClassDoc[] annotationTypes =
   324                 packageDoc.isIncluded()
   323                 packageDoc.isIncluded()
   325                         ? packageDoc.annotationTypes()
   324                         ? packageDoc.annotationTypes()
   326                         : configuration.classDocCatalog.annotationTypes(
   325                         : configuration.classDocCatalog.annotationTypes(
   327                                 Util.getPackageName(packageDoc));
   326                                 utils.getPackageName(packageDoc));
   328         annotationTypes = Util.filterOutPrivateClasses(annotationTypes, configuration.javafx);
   327         annotationTypes = utils.filterOutPrivateClasses(annotationTypes, configuration.javafx);
   329         if (annotationTypes.length > 0) {
   328         if (annotationTypes.length > 0) {
   330             packageWriter.addClassesSummary(
   329             packageWriter.addClassesSummary(
   331                     annotationTypes,
   330                     annotationTypes,
   332                     configuration.getText("doclet.Annotation_Types_Summary"),
   331                     configuration.getText("doclet.Annotation_Types_Summary"),
   333                     annotationtypeTableSummary, annotationtypeTableHeader,
   332                     annotationtypeTableSummary, annotationtypeTableHeader,