14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 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 javax.lang.model.element.Element; 29 import javax.lang.model.element.ExecutableElement; 30 import javax.lang.model.element.TypeElement; 31 import javax.lang.model.type.TypeMirror; 32 33 import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder; 34 import jdk.javadoc.internal.doclets.formats.html.markup.Entity; 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.formats.html.markup.StringContent; 39 import jdk.javadoc.internal.doclets.formats.html.markup.Table; 40 import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader; 41 import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeRequiredMemberWriter; 42 import jdk.javadoc.internal.doclets.toolkit.Content; 43 import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter; 44 45 46 /** 47 * Writes annotation type required member documentation in HTML format. 48 * 49 * <p><b>This is NOT part of any supported API. 50 * If you write code that depends on this, you do so at your own risk. 51 * This code and its internal interfaces are subject to change or 52 * deletion without notice.</b> 53 * 54 * @author Jamie Ho 55 * @author Bhavesh Patel (Modified) 56 */ 57 public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter 58 implements AnnotationTypeRequiredMemberWriter, MemberSummaryWriter { 119 120 /** 121 * {@inheritDoc} 122 */ 123 @Override 124 public Content getAnnotationDocTreeHeader(Element member, Content annotationDetailsTree) { 125 String simpleName = name(member); 126 Content annotationDocTree = new ContentBuilder(); 127 Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING); 128 heading.add(simpleName); 129 annotationDocTree.add(heading); 130 annotationDocTree.add(links.createAnchor( 131 simpleName + utils.signature((ExecutableElement) member))); 132 return HtmlTree.SECTION(HtmlStyle.detail, annotationDocTree); 133 } 134 135 /** 136 * {@inheritDoc} 137 */ 138 public Content getSignature(Element member) { 139 Content pre = new HtmlTree(HtmlTag.PRE); 140 writer.addAnnotationInfo(member, pre); 141 addModifiers(member, pre); 142 Content link = 143 writer.getLink(new LinkInfoImpl(configuration, 144 LinkInfoImpl.Kind.MEMBER, getType(member))); 145 pre.add(link); 146 pre.add(Entity.NO_BREAK_SPACE); 147 if (configuration.linksource) { 148 Content memberName = new StringContent(name(member)); 149 writer.addSrcLink(member, memberName, pre); 150 } else { 151 addName(name(member), pre); 152 } 153 return pre; 154 } 155 156 /** 157 * {@inheritDoc} 158 */ 159 public void addDeprecated(Element member, Content annotationDocTree) { 160 addDeprecatedInfo(member, annotationDocTree); 161 } 162 163 /** 164 * {@inheritDoc} 165 */ 166 public void addComments(Element member, Content annotationDocTree) { 167 addComment(member, annotationDocTree); 168 } 169 170 /** 171 * {@inheritDoc} 172 */ 173 public void addTags(Element member, Content annotationDocTree) { | 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 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 javax.lang.model.element.Element; 29 import javax.lang.model.element.ExecutableElement; 30 import javax.lang.model.element.TypeElement; 31 import javax.lang.model.type.TypeMirror; 32 33 import jdk.javadoc.internal.doclets.formats.html.markup.ContentBuilder; 34 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle; 35 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree; 36 import jdk.javadoc.internal.doclets.formats.html.markup.Table; 37 import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader; 38 import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeRequiredMemberWriter; 39 import jdk.javadoc.internal.doclets.toolkit.Content; 40 import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter; 41 42 43 /** 44 * Writes annotation type required member documentation in HTML format. 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 * @author Jamie Ho 52 * @author Bhavesh Patel (Modified) 53 */ 54 public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter 55 implements AnnotationTypeRequiredMemberWriter, MemberSummaryWriter { 116 117 /** 118 * {@inheritDoc} 119 */ 120 @Override 121 public Content getAnnotationDocTreeHeader(Element member, Content annotationDetailsTree) { 122 String simpleName = name(member); 123 Content annotationDocTree = new ContentBuilder(); 124 Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING); 125 heading.add(simpleName); 126 annotationDocTree.add(heading); 127 annotationDocTree.add(links.createAnchor( 128 simpleName + utils.signature((ExecutableElement) member))); 129 return HtmlTree.SECTION(HtmlStyle.detail, annotationDocTree); 130 } 131 132 /** 133 * {@inheritDoc} 134 */ 135 public Content getSignature(Element member) { 136 MemberSignature sig = new MemberSignature(member); 137 sig.addType(getType(member)); 138 sig.addName(member); 139 return sig.toContent(); 140 } 141 142 /** 143 * {@inheritDoc} 144 */ 145 public void addDeprecated(Element member, Content annotationDocTree) { 146 addDeprecatedInfo(member, annotationDocTree); 147 } 148 149 /** 150 * {@inheritDoc} 151 */ 152 public void addComments(Element member, Content annotationDocTree) { 153 addComment(member, annotationDocTree); 154 } 155 156 /** 157 * {@inheritDoc} 158 */ 159 public void addTags(Element member, Content annotationDocTree) { |