26 package jdk.javadoc.internal.doclets.formats.html;
27
28 import jdk.javadoc.internal.doclets.formats.html.markup.Table;
29 import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
30
31 import java.util.SortedSet;
32 import java.util.TreeSet;
33
34 import javax.lang.model.element.Element;
35 import javax.lang.model.element.ExecutableElement;
36 import javax.lang.model.element.TypeElement;
37 import javax.lang.model.type.TypeMirror;
38
39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
40 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
41 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
42 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
43 import jdk.javadoc.internal.doclets.toolkit.Content;
44 import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter;
45 import jdk.javadoc.internal.doclets.toolkit.MethodWriter;
46 import jdk.javadoc.internal.doclets.toolkit.util.Utils;
47 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable;
48
49 /**
50 * Writes method documentation in HTML format.
51 *
52 * <p><b>This is NOT part of any supported API.
53 * If you write code that depends on this, you do so at your own risk.
54 * This code and its internal interfaces are subject to change or
55 * deletion without notice.</b>
56 *
57 * @author Robert Field
58 * @author Atul M Dambalkar
59 * @author Jamie Ho (rewrite)
60 * @author Bhavesh Patel (Modified)
61 */
62 public class MethodWriterImpl extends AbstractExecutableMemberWriter
63 implements MethodWriter, MemberSummaryWriter {
64
65 /**
128 Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING);
129 heading.add(name(method));
130 methodDocTree.add(heading);
131 return methodDocTree;
132 }
133
134 /**
135 * Get the signature for the given method.
136 *
137 * @param method the method being documented.
138 * @return a content object for the signature
139 */
140 @Override
141 public Content getSignature(ExecutableElement method) {
142 HtmlTree pre = new HtmlTree(HtmlTag.PRE);
143 pre.setStyle(HtmlStyle.methodSignature);
144 writer.addAnnotationInfo(method, pre);
145 int annotationLength = pre.charCount();
146 addModifiers(method, pre);
147 addTypeParameters(method, pre);
148 addReturnType(method, pre);
149 if (configuration.linksource) {
150 Content methodName = new StringContent(name(method));
151 writer.addSrcLink(method, methodName, pre);
152 } else {
153 addName(name(method), pre);
154 }
155 int indent = pre.charCount() - annotationLength;
156 addParameters(method, pre, indent);
157 addExceptions(method, pre, indent);
158 return pre;
159 }
160
161 /**
162 * {@inheritDoc}
163 */
164 @Override
165 public void addDeprecated(ExecutableElement method, Content methodDocTree) {
166 addDeprecatedInfo(method, methodDocTree);
167 }
|
26 package jdk.javadoc.internal.doclets.formats.html;
27
28 import jdk.javadoc.internal.doclets.formats.html.markup.Table;
29 import jdk.javadoc.internal.doclets.formats.html.markup.TableHeader;
30
31 import java.util.SortedSet;
32 import java.util.TreeSet;
33
34 import javax.lang.model.element.Element;
35 import javax.lang.model.element.ExecutableElement;
36 import javax.lang.model.element.TypeElement;
37 import javax.lang.model.type.TypeMirror;
38
39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
40 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
41 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
42 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
43 import jdk.javadoc.internal.doclets.toolkit.Content;
44 import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter;
45 import jdk.javadoc.internal.doclets.toolkit.MethodWriter;
46 import jdk.javadoc.internal.doclets.toolkit.util.DocletConstants;
47 import jdk.javadoc.internal.doclets.toolkit.util.Utils;
48 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable;
49
50 /**
51 * Writes method documentation in HTML format.
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 * @author Robert Field
59 * @author Atul M Dambalkar
60 * @author Jamie Ho (rewrite)
61 * @author Bhavesh Patel (Modified)
62 */
63 public class MethodWriterImpl extends AbstractExecutableMemberWriter
64 implements MethodWriter, MemberSummaryWriter {
65
66 /**
129 Content heading = new HtmlTree(Headings.TypeDeclaration.MEMBER_HEADING);
130 heading.add(name(method));
131 methodDocTree.add(heading);
132 return methodDocTree;
133 }
134
135 /**
136 * Get the signature for the given method.
137 *
138 * @param method the method being documented.
139 * @return a content object for the signature
140 */
141 @Override
142 public Content getSignature(ExecutableElement method) {
143 HtmlTree pre = new HtmlTree(HtmlTag.PRE);
144 pre.setStyle(HtmlStyle.methodSignature);
145 writer.addAnnotationInfo(method, pre);
146 int annotationLength = pre.charCount();
147 addModifiers(method, pre);
148 addTypeParameters(method, pre);
149 if (pre.charCount() - annotationLength > DocletConstants.PREFORMATTED_LINE_LENGTH) {
150 // Add line break after very long type parameter list
151 pre.add(DocletConstants.NL);
152 annotationLength = pre.charCount();
153 }
154 addReturnType(method, pre);
155 if (configuration.linksource) {
156 Content methodName = new StringContent(name(method));
157 writer.addSrcLink(method, methodName, pre);
158 } else {
159 addName(name(method), pre);
160 }
161 int indent = pre.charCount() - annotationLength;
162 addParameters(method, pre, indent);
163 addExceptions(method, pre, indent);
164 return pre;
165 }
166
167 /**
168 * {@inheritDoc}
169 */
170 @Override
171 public void addDeprecated(ExecutableElement method, Content methodDocTree) {
172 addDeprecatedInfo(method, methodDocTree);
173 }
|