16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package jdk.javadoc.internal.doclets.formats.html;
27
28 import jdk.javadoc.internal.doclets.formats.html.markup.Table;
29
30 import java.util.*;
31
32 import javax.lang.model.element.PackageElement;
33
34 import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
35 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
36 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
37 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
38 import jdk.javadoc.internal.doclets.toolkit.Content;
39 import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
40 import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
41 import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
42 import jdk.javadoc.internal.doclets.toolkit.util.Group;
43
44 /**
45 * Generate the package index page "index.html".
46 *
47 * <p><b>This is NOT part of any supported API.
48 * If you write code that depends on this, you do so at your own risk.
49 * This code and its internal interfaces are subject to change or
50 * deletion without notice.</b>
51 */
52 public class PackageIndexWriter extends AbstractOverviewIndexWriter {
53
54 /**
55 * A Set of Packages to be documented.
56 */
93 = configuration.group.groupPackages(packages);
94
95 if (!groupPackageMap.keySet().isEmpty()) {
96 Table table = new Table(HtmlStyle.overviewSummary)
97 .setHeader(getPackageTableHeader())
98 .setColumnStyles(HtmlStyle.colFirst, HtmlStyle.colLast)
99 .setDefaultTab(resources.getText("doclet.All_Packages"))
100 .setTabScript(i -> "show(" + i + ");")
101 .setTabId(i -> (i == 0) ? "t0" : ("t" + (1 << (i - 1))));
102
103 // add the tabs in command-line order
104 for (String groupName : configuration.group.getGroupList()) {
105 Set<PackageElement> groupPackages = groupPackageMap.get(groupName);
106 if (groupPackages != null) {
107 table.addTab(groupName, groupPackages::contains);
108 }
109 }
110
111 for (PackageElement pkg : configuration.packages) {
112 if (!pkg.isUnnamed()) {
113 if (!(configuration.nodeprecated && utils.isDeprecated(pkg))) {
114 Content packageLinkContent = getPackageLink(pkg, getPackageName(pkg));
115 Content summaryContent = new ContentBuilder();
116 addSummaryComment(pkg, summaryContent);
117 table.addRow(pkg, packageLinkContent, summaryContent);
118 }
119 }
120 }
121
122 Content div = HtmlTree.DIV(HtmlStyle.contentContainer, table.toContent());
123 main.add(div);
124
125 if (table.needsScript()) {
126 getMainBodyScript().append(table.getScript());
127 }
128 }
129 }
130 }
|
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package jdk.javadoc.internal.doclets.formats.html;
27
28 import jdk.javadoc.internal.doclets.formats.html.markup.Table;
29
30 import java.util.*;
31
32 import javax.lang.model.element.PackageElement;
33
34 import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder;
35 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
36 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
37 import jdk.javadoc.internal.doclets.toolkit.Content;
38 import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
39 import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
40 import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
41 import jdk.javadoc.internal.doclets.toolkit.util.Group;
42
43 /**
44 * Generate the package index page "index.html".
45 *
46 * <p><b>This is NOT part of any supported API.
47 * If you write code that depends on this, you do so at your own risk.
48 * This code and its internal interfaces are subject to change or
49 * deletion without notice.</b>
50 */
51 public class PackageIndexWriter extends AbstractOverviewIndexWriter {
52
53 /**
54 * A Set of Packages to be documented.
55 */
92 = configuration.group.groupPackages(packages);
93
94 if (!groupPackageMap.keySet().isEmpty()) {
95 Table table = new Table(HtmlStyle.overviewSummary)
96 .setHeader(getPackageTableHeader())
97 .setColumnStyles(HtmlStyle.colFirst, HtmlStyle.colLast)
98 .setDefaultTab(resources.getText("doclet.All_Packages"))
99 .setTabScript(i -> "show(" + i + ");")
100 .setTabId(i -> (i == 0) ? "t0" : ("t" + (1 << (i - 1))));
101
102 // add the tabs in command-line order
103 for (String groupName : configuration.group.getGroupList()) {
104 Set<PackageElement> groupPackages = groupPackageMap.get(groupName);
105 if (groupPackages != null) {
106 table.addTab(groupName, groupPackages::contains);
107 }
108 }
109
110 for (PackageElement pkg : configuration.packages) {
111 if (!pkg.isUnnamed()) {
112 if (!(options.noDeprecated && utils.isDeprecated(pkg))) {
113 Content packageLinkContent = getPackageLink(pkg, getPackageName(pkg));
114 Content summaryContent = new ContentBuilder();
115 addSummaryComment(pkg, summaryContent);
116 table.addRow(pkg, packageLinkContent, summaryContent);
117 }
118 }
119 }
120
121 Content div = HtmlTree.DIV(HtmlStyle.contentContainer, table.toContent());
122 main.add(div);
123
124 if (table.needsScript()) {
125 getMainBodyScript().append(table.getScript());
126 }
127 }
128 }
129 }
|