langtools/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java
changeset 2216 b124d5c924eb
parent 1787 1aa079321cd2
child 2320 5b8c377175f4
equal deleted inserted replaced
2215:dd8663d971d1 2216:b124d5c924eb
    23  * have any questions.
    23  * have any questions.
    24  */
    24  */
    25 
    25 
    26 package com.sun.tools.doclets.formats.html;
    26 package com.sun.tools.doclets.formats.html;
    27 
    27 
       
    28 import java.io.*;
       
    29 
       
    30 import com.sun.javadoc.*;
    28 import com.sun.tools.doclets.internal.toolkit.*;
    31 import com.sun.tools.doclets.internal.toolkit.*;
    29 import com.sun.tools.doclets.internal.toolkit.util.*;
    32 import com.sun.tools.doclets.internal.toolkit.util.*;
    30 import com.sun.tools.doclets.internal.toolkit.taglets.*;
    33 import com.sun.tools.doclets.internal.toolkit.taglets.*;
    31 
       
    32 import java.io.*;
       
    33 import com.sun.javadoc.*;
       
    34 
    34 
    35 /**
    35 /**
    36  * Writes method documentation in HTML format.
    36  * Writes method documentation in HTML format.
    37  *
    37  *
    38  * @author Robert Field
    38  * @author Robert Field
   170             strong(method.name());
   170             strong(method.name());
   171         }
   171         }
   172         writeParameters(method);
   172         writeParameters(method);
   173         writeExceptions(method);
   173         writeExceptions(method);
   174         writer.preEnd();
   174         writer.preEnd();
   175         writer.dl();
   175         assert !writer.getMemberDetailsListPrinted();
   176     }
   176     }
   177 
   177 
   178     /**
   178     /**
   179      * Write the deprecated output for the given method.
   179      * Write the deprecated output for the given method.
   180      *
   180      *
   181      * @param method the method being documented.
   181      * @param method the method being documented.
   182      */
   182      */
   183     public void writeDeprecated(MethodDoc method) {
   183     public void writeDeprecated(MethodDoc method) {
   184         String output = ((TagletOutputImpl)
   184         printDeprecated(method);
   185             (new DeprecatedTaglet()).getTagletOutput(method,
       
   186             writer.getTagletWriterInstance(false))).toString();
       
   187         if (output != null && output.trim().length() > 0) {
       
   188             writer.print(output);
       
   189         }
       
   190     }
   185     }
   191 
   186 
   192     /**
   187     /**
   193      * Write the comments for the given method.
   188      * Write the comments for the given method.
   194      *
   189      *
   195      * @param method the method being documented.
   190      * @param method the method being documented.
   196      */
   191      */
   197     public void writeComments(Type holder, MethodDoc method) {
   192     public void writeComments(Type holder, MethodDoc method) {
   198         ClassDoc holderClassDoc = holder.asClassDoc();
   193         ClassDoc holderClassDoc = holder.asClassDoc();
   199         if (method.inlineTags().length > 0) {
   194         if (method.inlineTags().length > 0) {
       
   195             writer.printMemberDetailsListStartTag();
   200             if (holder.asClassDoc().equals(classdoc) ||
   196             if (holder.asClassDoc().equals(classdoc) ||
   201                 (! (holderClassDoc.isPublic() ||
   197                 (! (holderClassDoc.isPublic() ||
   202                     Util.isLinkable(holderClassDoc, configuration())))) {
   198                     Util.isLinkable(holderClassDoc, configuration())))) {
   203                 writer.dd();
   199                 writer.dd();
   204                 writer.printInlineComment(method);
   200                 writer.printInlineComment(method);
       
   201                 writer.ddEnd();
   205             } else {
   202             } else {
   206                 String classlink = writer.codeText(
   203                 String classlink = writer.codeText(
   207                     writer.getDocLink(LinkInfoImpl.CONTEXT_METHOD_DOC_COPY,
   204                     writer.getDocLink(LinkInfoImpl.CONTEXT_METHOD_DOC_COPY,
   208                         holder.asClassDoc(), method,
   205                         holder.asClassDoc(), method,
   209                         holder.asClassDoc().isIncluded() ?
   206                         holder.asClassDoc().isIncluded() ?
   215                         "doclet.Description_From_Interface",
   212                         "doclet.Description_From_Interface",
   216                     classlink);
   213                     classlink);
   217                 writer.ddEnd();
   214                 writer.ddEnd();
   218                 writer.dd();
   215                 writer.dd();
   219                 writer.printInlineComment(method);
   216                 writer.printInlineComment(method);
       
   217                 writer.ddEnd();
   220             }
   218             }
   221         }
   219         }
   222     }
   220     }
   223 
   221 
   224     /**
   222     /**
   232 
   230 
   233     /**
   231     /**
   234      * Write the method footer.
   232      * Write the method footer.
   235      */
   233      */
   236     public void writeMethodFooter() {
   234     public void writeMethodFooter() {
   237         writer.ddEnd();
   235         printMemberFooter();
   238         writer.dlEnd();
       
   239     }
   236     }
   240 
   237 
   241     /**
   238     /**
   242      * Write the footer for the method documentation.
   239      * Write the footer for the method documentation.
   243      *
   240      *
   316             String overriddenTypeLink = writer.codeText(
   313             String overriddenTypeLink = writer.codeText(
   317                 writer.getLink(new LinkInfoImpl(context, overriddenType)));
   314                 writer.getLink(new LinkInfoImpl(context, overriddenType)));
   318             String name = method.name();
   315             String name = method.name();
   319             writer.dt();
   316             writer.dt();
   320             writer.strongText(label);
   317             writer.strongText(label);
       
   318             writer.dtEnd();
   321             writer.dd();
   319             writer.dd();
   322             String methLink = writer.codeText(
   320             String methLink = writer.codeText(
   323                 writer.getLink(
   321                 writer.getLink(
   324                     new LinkInfoImpl(LinkInfoImpl.CONTEXT_MEMBER,
   322                     new LinkInfoImpl(LinkInfoImpl.CONTEXT_MEMBER,
   325                         overriddenType.asClassDoc(),
   323                         overriddenType.asClassDoc(),
   326                         writer.getAnchor(method), name, false)
   324                         writer.getAnchor(method), name, false)
   327                 ));
   325                 ));
   328             writer.printText("doclet.in_class", methLink, overriddenTypeLink);
   326             writer.printText("doclet.in_class", methLink, overriddenTypeLink);
       
   327             writer.ddEnd();
   329         }
   328         }
   330     }
   329     }
   331 
   330 
   332     /**
   331     /**
   333      * Parse the <Code> tag and return the text.
   332      * Parse the <Code> tag and return the text.
   362             String intfaclink = writer.codeText(
   361             String intfaclink = writer.codeText(
   363                 writer.getLink(new LinkInfoImpl(
   362                 writer.getLink(new LinkInfoImpl(
   364                     LinkInfoImpl.CONTEXT_METHOD_SPECIFIED_BY, intfac)));
   363                     LinkInfoImpl.CONTEXT_METHOD_SPECIFIED_BY, intfac)));
   365             writer.dt();
   364             writer.dt();
   366             writer.strongText("doclet.Specified_By");
   365             writer.strongText("doclet.Specified_By");
       
   366             writer.dtEnd();
   367             writer.dd();
   367             writer.dd();
   368             methlink = writer.codeText(writer.getDocLink(
   368             methlink = writer.codeText(writer.getDocLink(
   369                 LinkInfoImpl.CONTEXT_MEMBER, implementedMeth,
   369                 LinkInfoImpl.CONTEXT_MEMBER, implementedMeth,
   370                 implementedMeth.name(), false));
   370                 implementedMeth.name(), false));
   371             writer.printText("doclet.in_interface", methlink, intfaclink);
   371             writer.printText("doclet.in_interface", methlink, intfaclink);
       
   372             writer.ddEnd();
   372         }
   373         }
   373 
   374 
   374     }
   375     }
   375 
   376 
   376     protected void printReturnType(MethodDoc method) {
   377     protected void printReturnType(MethodDoc method) {