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 29 import javax.lang.model.element.Element; 30 import javax.lang.model.element.TypeElement; 31 import javax.lang.model.element.VariableElement; 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.HtmlTag; 36 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree; 37 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent; 38 import jdk.javadoc.internal.doclets.formats.html.markup.Table; 39 import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader; 40 import jdk.javadoc.internal.doclets.toolkit.Content; 41 import jdk.javadoc.internal.doclets.toolkit.EnumConstantWriter; 42 import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter; 43 44 /** 45 * Writes enum constant documentation in HTML format. 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 * @author Jamie Ho 53 * @author Bhavesh Patel (Modified) 54 */ 55 public class EnumConstantWriterImpl extends AbstractMemberWriter 56 implements EnumConstantWriter, MemberSummaryWriter { 57 101 102 /** 103 * {@inheritDoc} 104 */ 105 @Override 106 public Content getEnumConstantsTreeHeader(VariableElement enumConstant, 107 Content enumConstantsDetailsTree) { 108 Content enumConstantsTree = new ContentBuilder(); 109 Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING); 110 heading.add(name(enumConstant)); 111 enumConstantsTree.add(heading); 112 enumConstantsTree.add(links.createAnchor(name(enumConstant))); 113 return HtmlTree.SECTION(HtmlStyle.detail, enumConstantsTree); 114 } 115 116 /** 117 * {@inheritDoc} 118 */ 119 @Override 120 public Content getSignature(VariableElement enumConstant) { 121 Content pre = new HtmlTree(HtmlTag.PRE); 122 writer.addAnnotationInfo(enumConstant, pre); 123 addModifiers(enumConstant, pre); 124 Content enumConstantLink = writer.getLink(new LinkInfoImpl( 125 configuration, LinkInfoImpl.Kind.MEMBER, enumConstant.asType())); 126 pre.add(enumConstantLink); 127 pre.add(" "); 128 if (configuration.linksource) { 129 Content enumConstantName = new StringContent(name(enumConstant)); 130 writer.addSrcLink(enumConstant, enumConstantName, pre); 131 } else { 132 addName(name(enumConstant), pre); 133 } 134 return pre; 135 } 136 137 /** 138 * {@inheritDoc} 139 */ 140 @Override 141 public void addDeprecated(VariableElement enumConstant, Content enumConstantsTree) { 142 addDeprecatedInfo(enumConstant, enumConstantsTree); 143 } 144 145 /** 146 * {@inheritDoc} 147 */ 148 @Override 149 public void addComments(VariableElement enumConstant, Content enumConstantsTree) { 150 addComment(enumConstant, enumConstantsTree); 151 } 152 153 /** 154 * {@inheritDoc} | 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 29 import javax.lang.model.element.Element; 30 import javax.lang.model.element.TypeElement; 31 import javax.lang.model.element.VariableElement; 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.Content; 39 import jdk.javadoc.internal.doclets.toolkit.EnumConstantWriter; 40 import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter; 41 42 /** 43 * Writes enum constant documentation in HTML format. 44 * 45 * <p><b>This is NOT part of any supported API. 46 * If you write code that depends on this, you do so at your own risk. 47 * This code and its internal interfaces are subject to change or 48 * deletion without notice.</b> 49 * 50 * @author Jamie Ho 51 * @author Bhavesh Patel (Modified) 52 */ 53 public class EnumConstantWriterImpl extends AbstractMemberWriter 54 implements EnumConstantWriter, MemberSummaryWriter { 55 99 100 /** 101 * {@inheritDoc} 102 */ 103 @Override 104 public Content getEnumConstantsTreeHeader(VariableElement enumConstant, 105 Content enumConstantsDetailsTree) { 106 Content enumConstantsTree = new ContentBuilder(); 107 Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING); 108 heading.add(name(enumConstant)); 109 enumConstantsTree.add(heading); 110 enumConstantsTree.add(links.createAnchor(name(enumConstant))); 111 return HtmlTree.SECTION(HtmlStyle.detail, enumConstantsTree); 112 } 113 114 /** 115 * {@inheritDoc} 116 */ 117 @Override 118 public Content getSignature(VariableElement enumConstant) { 119 MemberSignature sig = new MemberSignature(enumConstant); 120 sig.addType(enumConstant.asType()); 121 sig.addName(enumConstant); 122 return sig.toContent(); 123 } 124 125 /** 126 * {@inheritDoc} 127 */ 128 @Override 129 public void addDeprecated(VariableElement enumConstant, Content enumConstantsTree) { 130 addDeprecatedInfo(enumConstant, enumConstantsTree); 131 } 132 133 /** 134 * {@inheritDoc} 135 */ 136 @Override 137 public void addComments(VariableElement enumConstant, Content enumConstantsTree) { 138 addComment(enumConstant, enumConstantsTree); 139 } 140 141 /** 142 * {@inheritDoc} |