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. |