< prev index next >

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java

Print this page




  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     /**


 123         if ((erasureAnchor = getErasureAnchor(method)) != null) {
 124             methodDetailsTree.add(links.createAnchor((erasureAnchor)));
 125         }
 126         methodDetailsTree.add(links.createAnchor(writer.getAnchor(method)));
 127         Content methodDocTree = writer.getMemberTreeHeader();
 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     /**


 124         if ((erasureAnchor = getErasureAnchor(method)) != null) {
 125             methodDetailsTree.add(links.createAnchor((erasureAnchor)));
 126         }
 127         methodDetailsTree.add(links.createAnchor(writer.getAnchor(method)));
 128         Content methodDocTree = writer.getMemberTreeHeader();
 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         writer.addAnnotationInfo(method, pre);
 145         int annotationLength = pre.charCount();
 146         addModifiers(method, pre);
 147         addTypeParameters(method, pre);
 148         if (pre.charCount() - annotationLength > DocletConstants.PREFORMATTED_LINE_LENGTH) {
 149             // Add line break after very long type parameter list
 150             pre.add(DocletConstants.NL);
 151             annotationLength = pre.charCount();
 152         }
 153         addReturnType(method, pre);
 154         if (configuration.linksource) {
 155             Content methodName = new StringContent(name(method));
 156             writer.addSrcLink(method, methodName, pre);
 157         } else {
 158             addName(name(method), pre);
 159         }
 160         int indent = pre.charCount() - annotationLength;
 161         addParameters(method, pre, indent);
 162         addExceptions(method, pre, indent);
 163         return pre;
 164     }
 165 
 166     /**
 167      * {@inheritDoc}
 168      */
 169     @Override
 170     public void addDeprecated(ExecutableElement method, Content methodDocTree) {
 171         addDeprecatedInfo(method, methodDocTree);
 172     }


< prev index next >