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 java.util.List;
29
30 import javax.lang.model.element.ModuleElement;
31 import javax.lang.model.element.PackageElement;
32 import javax.lang.model.element.TypeElement;
33 import javax.lang.model.type.TypeMirror;
34
35 import com.sun.source.doctree.DocTree;
36 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
37 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
38 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
40 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
41 import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeWriter;
42 import jdk.javadoc.internal.doclets.toolkit.Content;
43 import jdk.javadoc.internal.doclets.toolkit.builders.MemberSummaryBuilder;
44 import jdk.javadoc.internal.doclets.toolkit.util.CommentHelper;
45 import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
46 import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
47 import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
48 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberMap;
49
50 /**
51 * Generate the Class Information Page.
52 *
53 * <p><b>This is NOT part of any supported API.
54 * If you write code that depends on this, you do so at your own risk.
55 * This code and its internal interfaces are subject to change or
56 * deletion without notice.</b>
57 *
58 * @see java.util.Collections
59 * @see java.util.List
91 /**
92 * Get the module link.
93 *
94 * @return a content tree for the module link
95 */
96 @Override
97 protected Content getNavLinkModule() {
98 Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(annotationType),
99 contents.moduleLabel);
100 Content li = HtmlTree.LI(linkContent);
101 return li;
102 }
103
104 /**
105 * Get this package link.
106 *
107 * @return a content tree for the package link
108 */
109 @Override
110 protected Content getNavLinkPackage() {
111 Content linkContent = getHyperLink(DocPaths.PACKAGE_SUMMARY,
112 contents.packageLabel);
113 Content li = HtmlTree.LI(linkContent);
114 return li;
115 }
116
117 /**
118 * Get the class link.
119 *
120 * @return a content tree for the class link
121 */
122 @Override
123 protected Content getNavLinkClass() {
124 Content li = HtmlTree.LI(HtmlStyle.navBarCell1Rev, contents.classLabel);
125 return li;
126 }
127
128 /**
129 * Get the class use link.
130 *
131 * @return a content tree for the class use link
132 */
133 @Override
134 protected Content getNavLinkClassUse() {
135 Content linkContent = getHyperLink(DocPaths.CLASS_USE.resolve(filename), contents.useLabel);
136 Content li = HtmlTree.LI(linkContent);
137 return li;
138 }
139
140 /**
141 * Get link to previous class.
142 *
143 * @return a content tree for the previous class link
144 */
145 @Override
146 public Content getNavLinkPrevious() {
147 Content li;
148 if (prev != null) {
149 Content prevLink = getLink(new LinkInfoImpl(configuration,
150 LinkInfoImpl.Kind.CLASS, utils.asTypeElement(prev))
151 .label(contents.prevClassLabel).strong(true));
152 li = HtmlTree.LI(prevLink);
153 }
154 else
155 li = HtmlTree.LI(contents.prevClassLabel);
329 if (utils.isDeprecated(annotationType)) {
330 CommentHelper ch = utils.getCommentHelper(annotationType);
331 Content deprLabel = HtmlTree.SPAN(HtmlStyle.deprecatedLabel, getDeprecatedPhrase(annotationType));
332 Content div = HtmlTree.DIV(HtmlStyle.deprecationBlock, deprLabel);
333 if (!deprs.isEmpty()) {
334
335 List<? extends DocTree> commentTags = ch.getDescription(configuration, deprs.get(0));
336 if (!commentTags.isEmpty()) {
337 addInlineDeprecatedComment(annotationType, deprs.get(0), div);
338 }
339 }
340 annotationInfoTree.addContent(div);
341 }
342 }
343
344 /**
345 * {@inheritDoc}
346 */
347 @Override
348 protected Content getNavLinkTree() {
349 Content treeLinkContent = getHyperLink(DocPaths.PACKAGE_TREE,
350 contents.treeLabel, "", "");
351 Content li = HtmlTree.LI(treeLinkContent);
352 return li;
353 }
354
355 /**
356 * Add summary details to the navigation bar.
357 *
358 * @param subDiv the content tree to which the summary detail links will be added
359 */
360 @Override
361 protected void addSummaryDetailLinks(Content subDiv) {
362 Content div = HtmlTree.DIV(getNavSummaryLinks());
363 div.addContent(getNavDetailLinks());
364 subDiv.addContent(div);
365 }
366
367 /**
368 * Get summary links for navigation bar.
369 *
|
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 java.util.List;
29
30 import javax.lang.model.element.ModuleElement;
31 import javax.lang.model.element.PackageElement;
32 import javax.lang.model.element.TypeElement;
33 import javax.lang.model.type.TypeMirror;
34
35 import com.sun.source.doctree.DocTree;
36 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
37 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
38 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
40 import jdk.javadoc.internal.doclets.formats.html.markup.Links;
41 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
42 import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeWriter;
43 import jdk.javadoc.internal.doclets.toolkit.Content;
44 import jdk.javadoc.internal.doclets.toolkit.builders.MemberSummaryBuilder;
45 import jdk.javadoc.internal.doclets.toolkit.util.CommentHelper;
46 import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
47 import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
48 import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
49 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberMap;
50
51 /**
52 * Generate the Class Information Page.
53 *
54 * <p><b>This is NOT part of any supported API.
55 * If you write code that depends on this, you do so at your own risk.
56 * This code and its internal interfaces are subject to change or
57 * deletion without notice.</b>
58 *
59 * @see java.util.Collections
60 * @see java.util.List
92 /**
93 * Get the module link.
94 *
95 * @return a content tree for the module link
96 */
97 @Override
98 protected Content getNavLinkModule() {
99 Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(annotationType),
100 contents.moduleLabel);
101 Content li = HtmlTree.LI(linkContent);
102 return li;
103 }
104
105 /**
106 * Get this package link.
107 *
108 * @return a content tree for the package link
109 */
110 @Override
111 protected Content getNavLinkPackage() {
112 Content linkContent = Links.createLink(DocPaths.PACKAGE_SUMMARY,
113 contents.packageLabel);
114 Content li = HtmlTree.LI(linkContent);
115 return li;
116 }
117
118 /**
119 * Get the class link.
120 *
121 * @return a content tree for the class link
122 */
123 @Override
124 protected Content getNavLinkClass() {
125 Content li = HtmlTree.LI(HtmlStyle.navBarCell1Rev, contents.classLabel);
126 return li;
127 }
128
129 /**
130 * Get the class use link.
131 *
132 * @return a content tree for the class use link
133 */
134 @Override
135 protected Content getNavLinkClassUse() {
136 Content linkContent = Links.createLink(DocPaths.CLASS_USE.resolve(filename), contents.useLabel);
137 Content li = HtmlTree.LI(linkContent);
138 return li;
139 }
140
141 /**
142 * Get link to previous class.
143 *
144 * @return a content tree for the previous class link
145 */
146 @Override
147 public Content getNavLinkPrevious() {
148 Content li;
149 if (prev != null) {
150 Content prevLink = getLink(new LinkInfoImpl(configuration,
151 LinkInfoImpl.Kind.CLASS, utils.asTypeElement(prev))
152 .label(contents.prevClassLabel).strong(true));
153 li = HtmlTree.LI(prevLink);
154 }
155 else
156 li = HtmlTree.LI(contents.prevClassLabel);
330 if (utils.isDeprecated(annotationType)) {
331 CommentHelper ch = utils.getCommentHelper(annotationType);
332 Content deprLabel = HtmlTree.SPAN(HtmlStyle.deprecatedLabel, getDeprecatedPhrase(annotationType));
333 Content div = HtmlTree.DIV(HtmlStyle.deprecationBlock, deprLabel);
334 if (!deprs.isEmpty()) {
335
336 List<? extends DocTree> commentTags = ch.getDescription(configuration, deprs.get(0));
337 if (!commentTags.isEmpty()) {
338 addInlineDeprecatedComment(annotationType, deprs.get(0), div);
339 }
340 }
341 annotationInfoTree.addContent(div);
342 }
343 }
344
345 /**
346 * {@inheritDoc}
347 */
348 @Override
349 protected Content getNavLinkTree() {
350 Content treeLinkContent = Links.createLink(DocPaths.PACKAGE_TREE,
351 contents.treeLabel, "", "");
352 Content li = HtmlTree.LI(treeLinkContent);
353 return li;
354 }
355
356 /**
357 * Add summary details to the navigation bar.
358 *
359 * @param subDiv the content tree to which the summary detail links will be added
360 */
361 @Override
362 protected void addSummaryDetailLinks(Content subDiv) {
363 Content div = HtmlTree.DIV(getNavSummaryLinks());
364 div.addContent(getNavDetailLinks());
365 subDiv.addContent(div);
366 }
367
368 /**
369 * Get summary links for navigation bar.
370 *
|