use of com.sun.javadoc.ParamTag in project cxf by apache.
the class DumpJavaDoc method start.
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;
}
use of com.sun.javadoc.ParamTag in project Orchid by JavaEden.
the class ParameterParser method getParameters.
public JSONArray getParameters(ExecutableMemberDoc doc) {
JSONArray array = new JSONArray();
for (Parameter parameter : doc.parameters()) {
JSONObject object = new JSONObject();
object.put("type", typeParser.getTypeObject(parameter.type()));
object.put("name", parameter.name());
for (ParamTag paramTag : doc.paramTags()) {
if (parameter.name().equals(paramTag.parameterName())) {
object.put("description", paramTag.parameterComment());
}
}
array.put(object);
}
return (array.length() > 0) ? array : null;
}
use of com.sun.javadoc.ParamTag in project h2database by h2database.
the class Doclet method writeMethodDetails.
private void writeMethodDetails(PrintWriter writer, ClassDoc clazz, ExecutableMemberDoc method, String signature) {
String name = method.name();
if (skipMethod(method)) {
return;
}
Parameter[] params = method.parameters();
StatementBuilder buff = new StatementBuilder();
buff.append('(');
int i = 0;
for (Parameter p : params) {
boolean isVarArgs = method.isVarArgs() && i++ == params.length - 1;
buff.appendExceptFirst(", ");
buff.append(getTypeName(false, isVarArgs, p.type()));
buff.append(' ');
buff.append(p.name());
}
buff.append(')');
ClassDoc[] exceptions = method.thrownExceptions();
if (exceptions.length > 0) {
buff.append(" throws ");
buff.resetCount();
for (ClassDoc ex : exceptions) {
buff.appendExceptFirst(", ");
buff.append(ex.typeName());
}
}
if (isDeprecated(method)) {
name = "<span class=\"deprecated\">" + name + "</span>";
}
writer.println("<a id=\"" + signature + "\" href=\"#" + signature + "\">" + name + "</a>" + buff.toString());
boolean hasComment = method.commentText() != null && method.commentText().trim().length() != 0;
writer.println("<div class=\"methodText\">" + formatText(method.commentText()) + "</div>");
ParamTag[] paramTags = method.paramTags();
ThrowsTag[] throwsTags = method.throwsTags();
boolean hasThrowsTag = throwsTags != null && throwsTags.length > 0;
if (paramTags.length != params.length) {
if (hasComment && !method.commentText().startsWith("[")) {
// [Not supported] and such are not problematic
addError("Undocumented parameter(s) (" + getLink(clazz, method.position().line()) + ") " + name + " documented: " + paramTags.length + " params: " + params.length);
}
}
for (int j = 0; j < paramTags.length; j++) {
String paramName = paramTags[j].parameterName();
String comment = paramTags[j].parameterComment();
if (comment.trim().length() == 0) {
addError("Undocumented parameter (" + getLink(clazz, method.position().line()) + ") " + name + " " + paramName);
}
String p = paramName + " - " + comment;
if (j == 0) {
writer.println("<div class=\"itemTitle\">Parameters:</div>");
}
writer.println("<div class=\"item\">" + p + "</div>");
}
Tag[] returnTags = method.tags("return");
Type returnType = getReturnType(method);
if (returnTags != null && returnTags.length > 0) {
writer.println("<div class=\"itemTitle\">Returns:</div>");
String returnComment = returnTags[0].text();
if (returnComment.trim().length() == 0) {
addError("Undocumented return value (" + getLink(clazz, method.position().line()) + ") " + name);
}
writer.println("<div class=\"item\">" + returnComment + "</div>");
} else if (returnType != null && !returnType.toString().equals("void")) {
if (hasComment && !method.commentText().startsWith("[") && !hasThrowsTag) {
// [Not supported] and such are not problematic
// also not problematic are methods that always throw an
// exception
addError("Undocumented return value (" + getLink(clazz, method.position().line()) + ") " + name + " " + getReturnType(method));
}
}
if (hasThrowsTag) {
writer.println("<div class=\"itemTitle\">Throws:</div>");
for (ThrowsTag tag : throwsTags) {
String p = tag.exceptionName();
String c = tag.exceptionComment();
if (c.length() > 0) {
p += " - " + c;
}
writer.println("<div class=\"item\">" + p + "</div>");
}
}
}
use of com.sun.javadoc.ParamTag in project coprhd-controller by CoprHD.
the class MethodProcessor method getApiParameters.
public static List<ApiField> getApiParameters(MethodDoc method, String parameterAnnotation) {
List<ApiField> apiParams = Lists.newArrayList();
for (Parameter parameter : method.parameters()) {
if (AnnotationUtils.hasAnnotation(parameter, parameterAnnotation)) {
ApiField apiParam = new ApiField();
apiParam.name = AnnotationUtils.getAnnotationValue(parameter, parameterAnnotation, KnownAnnotations.Value_Element, parameter.name());
if (parameter.type().asClassDoc() != null) {
apiParam.type = JaxbClassProcessor.convertToApiClass(parameter.type().asClassDoc());
}
for (ParamTag paramTag : method.paramTags()) {
if (paramTag.parameterName().equals(parameter.name())) {
apiParam.description = paramTag.parameterComment();
}
}
apiParams.add(apiParam);
}
}
return apiParams;
}
Aggregations