paramDocType.setCommentText(paramTag.parameterComment()); docProcessor.processParamTag(paramTag, parameter, paramDocType);
public class ExtractCommentsDoclet { public static boolean start(RootDoc root) throws IOException { for (ClassDoc c : root.classes()) { print(c.qualifiedName(), c.commentText()); for (FieldDoc f : c.fields(false)) { print(f.qualifiedName(), f.commentText()); } for (MethodDoc m : c.methods(false)) { print(m.qualifiedName(), m.commentText()); if (m.commentText() != null && m.commentText().length() > 0) { for (ParamTag p : m.paramTags()) print(m.qualifiedName() + "@" + p.parameterName(), p.parameterComment()); for (Tag t : m.tags("return")) { if (t.text() != null && t.text().length() > 0) print(m.qualifiedName() + "@return", t.text()); } } } } return true; } private static void print(String name, String comment) throws IOException { if (comment != null && comment.length() > 0) { new FileWriter(name + ".txt").append(comment).close(); } } }
/** * This method finds the method parameter comment among the param tags provided * * @param parameterName is the non-null pagarameter name * @param parameterTags holds the comments in param tags * @return null if nothing found */ private String findComment(String parameterName, ParamTag[] parameterTags) { String result = null; int i = 0; while ( result == null && i < parameterTags.length ) { if ( parameterName.equals( parameterTags[ i ].parameterName() ) ) { result = parameterTags[ i ].parameterComment(); } i++; } return result; } }
@Override public void render(ParamTag tag, StringBuilder target, PegdownDoclet doclet) { target.append(tag.name()) .append(' ').append(renderParameterName(tag)) .append(' ').append(simplifySingleParagraph(doclet.toHtml(tag.parameterComment()))); }
private static String commentForParameter(ExecutableMemberDoc method, com.sun.javadoc.Parameter parameter) { for (ParamTag tag : method.paramTags()) { if (tag.parameterName().equals(parameter.name())) { return tag.parameterComment(); } } return ""; }
/** * Renders a document tag in the standard way. * * @param tag input * @param buffer output buffer */ private void renderTag(Tag tag, StringBuilder buffer) { buffer.append(tag.name()).append(' '); // Special handling for @param <T> tags // See http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javadoc.html#@param if ((tag instanceof ParamTag) && ((ParamTag) tag).isTypeParameter()) { ParamTag paramTag = (ParamTag) tag; buffer.append("<" + paramTag.parameterName() + ">"); String text = paramTag.parameterComment(); if (text.length() > 0) { buffer.append(' ').append(render(text, true)); } return; } buffer.append(render(tag.text(), true)); }
@Override public String getParamDoc(Method method, String name) { final MethodDoc methodDoc = _doclet.getMethodDoc(method); if (methodDoc != null) { for (ParamTag tag: methodDoc.paramTags()) { if (name.equals(tag.parameterName())) { return buildDoc(tag.parameterComment()); } } } return null; }
public static MethodDocumentation fromMethodDoc(MethodDoc methodDoc) { MethodDocumentation md = new MethodDocumentation(); md.comment = methodDoc.commentText(); for (Tag tag : methodDoc.tags()) { if (tag instanceof ParamTag) { ParamTag paramTag = (ParamTag) tag; md.parameters.put(paramTag.parameterName(), paramTag.parameterComment()); } else { md.tags.put(cleanupTagName(tag.name()), tag.text()); } } return md; } }
public static boolean start(RootDoc root) throws IOException { String dumpFileName = readOptions(root.options()); OutputStream os = Files.newOutputStream(Paths.get(dumpFileName)); Properties javaDocMap = new Properties(); for (ClassDoc classDoc : root.classes()) { javaDocMap.put(classDoc.toString(), classDoc.commentText()); for (MethodDoc method : classDoc.methods()) { javaDocMap.put(method.qualifiedName(), method.commentText()); for (ParamTag paramTag : method.paramTags()) { Parameter[] parameters = method.parameters(); for (int i = 0; i < parameters.length; ++i) { if (parameters[i].name().equals(paramTag.parameterName())) { javaDocMap.put(method.qualifiedName() + ".paramCommentTag." + i, paramTag.parameterComment()); } } } Tag[] retTags = method.tags("return"); if (retTags != null && retTags.length == 1) { Tag retTag = method.tags("return")[0]; javaDocMap.put(method.qualifiedName() + "." + "returnCommentTag", retTag.text()); } } } javaDocMap.store(os, ""); os.flush(); os.close(); return true; }
public static boolean start(RootDoc root) throws IOException { String dumpFileName = readOptions(root.options()); OutputStream os = Files.newOutputStream(Paths.get(dumpFileName)); Properties javaDocMap = new Properties(); for (ClassDoc classDoc : root.classes()) { javaDocMap.put(classDoc.toString(), classDoc.commentText()); for (MethodDoc method : classDoc.methods()) { javaDocMap.put(method.qualifiedName(), method.commentText()); for (ParamTag paramTag : method.paramTags()) { Parameter[] parameters = method.parameters(); for (int i = 0; i < parameters.length; ++i) { if (parameters[i].name().equals(paramTag.parameterName())) { javaDocMap.put(method.qualifiedName() + ".paramCommentTag." + i, paramTag.parameterComment()); } } } Tag[] retTags = method.tags("return"); if (retTags != null && retTags.length == 1) { Tag retTag = method.tags("return")[0]; javaDocMap.put(method.qualifiedName() + "." + "returnCommentTag", retTag.text()); } } } javaDocMap.store(os, ""); os.flush(); os.close(); return true; }
protected ApiElement printMethod(MethodDoc method) throws IOException { ApiElement element = new ApiElement(); element.setCaption(String.format("%s(%s)", method.name(), parameters(method.parameters()))); element.setContent(String.format("%s(%s)", method.name(), placeholders(method.parameters()))); StringBuilder sb = new StringBuilder(); String comment = !method.commentText().isEmpty() ? removeImagesTags(method.commentText().replaceAll("[\\n]+", "\n")) + "\n" : ""; sb.append(comment); if (method.paramTags().length > 0) { sb.append("<table>"); sb.append("<tr><th>Parameter</th> <th>Description</th></tr>"); for (ParamTag param : method.paramTags()) { sb.append(String.format("<tr> <th> %s </th> <th> %s </th></tr>", param.parameterName(), asMarkdown(param.parameterComment()))); } sb.append("</table>"); } for (Tag t : method.tags("return")) { String text = t.text(); if (text != null) { sb.append(String.format("-<strong>returns:</strong> %s \n", asMarkdown(text))); } } for (Tag t : method.tags("see")) { String text = t.text(); if (text != null) { sb.append(String.format("-<strong>see:</strong> %s \n", asMarkdown(text))); } } element.setDescription(sb.toString()); return element; }
for (ParamTag paramTag : paramTags) { if (paramTag.parameterName().equals(name)) { comment = paramTag.parameterComment(); break;
for (ParamTag paramTag : paramTags) { if (paramTag.parameterName().equals(name)) { comment = paramTag.parameterComment(); break;
for (ParamTag paramTag : paramTags) { if (paramTag.parameterName().equals(name)) { comment = paramTag.parameterComment(); break;
trace.trace("\t" + paramTag.parameterName() + " > " + paramTag.parameterComment()); .setNotes(paramTag.parameterComment()));
paramDocType.setCommentText( paramTag.parameterComment() ); docProcessor.processParamTag( paramTag, parameter, paramDocType );
throw new IllegalStateException("missing @param code comments[parameter name=" + parameter.name() + "] in postion:" + methodDoc.position()); String[] paramTexts = paramTag.parameterComment().split("(e.g|eg|e.g.|example|exam|例如|如)(:|:)", 2); paramDoc.setDesc(paramTexts[0]); paramDoc.setExampleValue(paramTexts.length==2 ? paramTexts[1] : "");
protected void printMarkDown(MethodDoc method) throws IOException { appendNewline("## `.%s(%s)`", method.name(), parameters(method.parameters())); appendNewline(); appendNewline(asMarkdown(method.commentText())); appendNewline(); if (method.paramTags().length > 0) { appendNewline("Parameter | Description"); appendNewline("--------- | -----------"); for (ParamTag param : method.paramTags()) { appendNewline("%s | %s", param.parameterName(), asMarkdown(param.parameterComment())); } appendNewline(); } for (Tag t : method.tags("return")) { String text = t.text(); if (text != null) { appendNewline("- **returns:** %s", asMarkdown(text)); } } for (Tag t : method.tags("see")) { String text = t.text(); if (text != null) { appendNewline("- **see:** %s", asMarkdown(text)); } } appendNewline(); }