30 import javax.lang.model.element.ModuleElement; |
30 import javax.lang.model.element.ModuleElement; |
31 import javax.lang.model.element.PackageElement; |
31 import javax.lang.model.element.PackageElement; |
32 import javax.lang.model.element.TypeElement; |
32 import javax.lang.model.element.TypeElement; |
33 |
33 |
34 import com.sun.source.doctree.DocTree; |
34 import com.sun.source.doctree.DocTree; |
|
35 import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder; |
35 import jdk.javadoc.internal.doclets.formats.html.markup.Entity; |
36 import jdk.javadoc.internal.doclets.formats.html.markup.Entity; |
36 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle; |
37 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle; |
37 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag; |
38 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag; |
38 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree; |
39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree; |
39 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation; |
40 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation; |
76 public AnnotationTypeWriterImpl(HtmlConfiguration configuration, |
77 public AnnotationTypeWriterImpl(HtmlConfiguration configuration, |
77 TypeElement annotationType) { |
78 TypeElement annotationType) { |
78 super(configuration, configuration.docPaths.forClass(annotationType)); |
79 super(configuration, configuration.docPaths.forClass(annotationType)); |
79 this.annotationType = annotationType; |
80 this.annotationType = annotationType; |
80 configuration.currentTypeElement = annotationType; |
81 configuration.currentTypeElement = annotationType; |
81 this.navBar = new Navigation(annotationType, configuration, fixedNavDiv, PageMode.CLASS, path); |
82 this.navBar = new Navigation(annotationType, configuration, PageMode.CLASS, path); |
82 } |
83 } |
83 |
84 |
84 /** |
85 /** |
85 * {@inheritDoc} |
86 * {@inheritDoc} |
86 */ |
87 */ |
87 @Override |
88 @Override |
88 public Content getHeader(String header) { |
89 public Content getHeader(String header) { |
89 HtmlTree bodyTree = getBody(getWindowTitle(utils.getSimpleName(annotationType))); |
90 Content headerContent = new ContentBuilder(); |
90 HtmlTree htmlTree = HtmlTree.HEADER(); |
91 addTop(headerContent); |
91 addTop(htmlTree); |
|
92 Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(annotationType), |
92 Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(annotationType), |
93 contents.moduleLabel); |
93 contents.moduleLabel); |
94 navBar.setNavLinkModule(linkContent); |
94 navBar.setNavLinkModule(linkContent); |
95 navBar.setMemberSummaryBuilder(configuration.getBuilderFactory().getMemberSummaryBuilder(this)); |
95 navBar.setMemberSummaryBuilder(configuration.getBuilderFactory().getMemberSummaryBuilder(this)); |
96 navBar.setUserHeader(getUserHeaderFooter(true)); |
96 navBar.setUserHeader(getUserHeaderFooter(true)); |
97 htmlTree.add(navBar.getContent(true)); |
97 headerContent.add(navBar.getContent(true)); |
98 bodyTree.add(htmlTree); |
98 |
99 bodyTree.add(MarkerComments.START_OF_CLASS_DATA); |
|
100 HtmlTree div = new HtmlTree(HtmlTag.DIV); |
99 HtmlTree div = new HtmlTree(HtmlTag.DIV); |
101 div.setStyle(HtmlStyle.header); |
100 div.setStyle(HtmlStyle.header); |
102 if (configuration.showModules) { |
101 if (configuration.showModules) { |
103 ModuleElement mdle = configuration.docEnv.getElementUtils().getModuleOf(annotationType); |
102 ModuleElement mdle = configuration.docEnv.getElementUtils().getModuleOf(annotationType); |
104 Content typeModuleLabel = HtmlTree.SPAN(HtmlStyle.moduleLabelInType, contents.moduleLabel); |
103 Content typeModuleLabel = HtmlTree.SPAN(HtmlStyle.moduleLabelInType, contents.moduleLabel); |
116 pkgNameDiv.add(pkgNameContent); |
115 pkgNameDiv.add(pkgNameContent); |
117 div.add(pkgNameDiv); |
116 div.add(pkgNameDiv); |
118 } |
117 } |
119 LinkInfoImpl linkInfo = new LinkInfoImpl(configuration, |
118 LinkInfoImpl linkInfo = new LinkInfoImpl(configuration, |
120 LinkInfoImpl.Kind.CLASS_HEADER, annotationType); |
119 LinkInfoImpl.Kind.CLASS_HEADER, annotationType); |
121 Content headerContent = new StringContent(header); |
|
122 Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, true, |
120 Content heading = HtmlTree.HEADING(Headings.PAGE_TITLE_HEADING, true, |
123 HtmlStyle.title, headerContent); |
121 HtmlStyle.title, new StringContent(header)); |
124 heading.add(getTypeParameterLinks(linkInfo)); |
122 heading.add(getTypeParameterLinks(linkInfo)); |
125 div.add(heading); |
123 div.add(heading); |
126 mainTree.add(div); |
124 bodyContents.setHeader(headerContent) |
127 return bodyTree; |
125 .addMainContent(MarkerComments.START_OF_CLASS_DATA) |
|
126 .addMainContent(div); |
|
127 return getBody(getWindowTitle(utils.getSimpleName(annotationType))); |
128 } |
128 } |
129 |
129 |
130 /** |
130 /** |
131 * {@inheritDoc} |
131 * {@inheritDoc} |
132 */ |
132 */ |
137 |
137 |
138 /** |
138 /** |
139 * {@inheritDoc} |
139 * {@inheritDoc} |
140 */ |
140 */ |
141 @Override |
141 @Override |
142 public void addFooter(Content contentTree) { |
142 public void addFooter() { |
143 contentTree.add(MarkerComments.END_OF_CLASS_DATA); |
|
144 Content htmlTree = HtmlTree.FOOTER(); |
143 Content htmlTree = HtmlTree.FOOTER(); |
145 navBar.setUserFooter(getUserHeaderFooter(false)); |
144 navBar.setUserFooter(getUserHeaderFooter(false)); |
146 htmlTree.add(navBar.getContent(false)); |
145 htmlTree.add(navBar.getContent(false)); |
147 addBottom(htmlTree); |
146 addBottom(htmlTree); |
148 contentTree.add(htmlTree); |
147 bodyContents.addMainContent(MarkerComments.END_OF_CLASS_DATA) |
|
148 .setFooter(htmlTree); |
149 } |
149 } |
150 |
150 |
151 /** |
151 /** |
152 * {@inheritDoc} |
152 * {@inheritDoc} |
153 */ |
153 */ |
154 @Override |
154 @Override |
155 public void printDocument(Content contentTree) throws DocFileIOException { |
155 public void printDocument(Content contentTree) throws DocFileIOException { |
156 String description = getDescription("declaration", annotationType); |
156 String description = getDescription("declaration", annotationType); |
157 PackageElement pkg = utils.containingPackage(this.annotationType); |
157 PackageElement pkg = utils.containingPackage(this.annotationType); |
158 List<DocPath> localStylesheets = getLocalStylesheets(pkg); |
158 List<DocPath> localStylesheets = getLocalStylesheets(pkg); |
|
159 contentTree.add(bodyContents.toContent()); |
159 printHtmlDocument(configuration.metakeywords.getMetaKeywords(annotationType), |
160 printHtmlDocument(configuration.metakeywords.getMetaKeywords(annotationType), |
160 description, localStylesheets, contentTree); |
161 description, localStylesheets, contentTree); |
161 } |
162 } |
162 |
163 |
163 /** |
164 /** |