我所说的评论是什么意思:
/**
*My Comment from database
*/
我的问题:
我有一堆DTO,根本没有评论。但是,SQL数据库中有注释。我可以通过发送查询然后检索结果集来获取这些注释。
我的任务是使用SQL数据库中的注释创建一个javadoc API(作为HTML和javacode内部),以便更好地理解代码库。
我编写了一个从sql数据库检索注释的小型java程序。
我使用上面显示的所需javadoc注释格式将找到的注释写入文件。
注释列中没有文本表示注释为空(这是可以的!)
为了澄清,这里有前后的图片。(不要担心文本是德语)
这就是现在的样子
之后应该是这样的
如开头所述。。我可以在自定义doclet的帮助下生成Javadoc注释(如下所示)吗?我被告知,我用一个简单的java程序实现的解决方案很好,但最好为这项任务制作一个doclet。
我尝试了什么:
我阅读了一些关于这个主题的Doclet概述、Javadoc常见问题解答和教程。我发现您可以从com扩展Doclet类。太阳javadoc。*;重写start(RootDoc root)方法。
通过这个自定义doclet,我可以在所需的包中打印字段、标记和类的方法。
除了这个用例之外,我没有发现关于如何编写自己的doclet的更多细节。
甚至可以编写一个doclet在代码中生成javadoc注释吗?还是使用我现有的解决方案更好?
这是我现在的自定义文档:
package myPackage;
import com.sun.javadoc.*;
public class ListClass extends Doclet{
public static void main(String[] args) {
String[] blarg = new String[] {
"-private", //shows private fields and methods
"-doclet",
"myPackage.ListClass", //Doclet to use
"-sourcepath",
"C:/DEV/workspace_jss/MyTestProject/src", //path to Package
"myPackage" //package name
};
com.sun.tools.javadoc.Main.execute(blarg);
}
public static boolean start(RootDoc root) {
ClassDoc[] classes = root.classes();
for(ClassDoc cDoc : classes) {
System.out.println(cDoc);
FieldDoc fields[] = cDoc.fields();
for(FieldDoc field : fields) {
System.out.println(" field: " + field);
System.out.println(" field name: " + field.name());
System.out.println(" field commentText: " + field.commentText());
System.out.println(" field type: " + field.type());
Tag[] tags = field.tags();
for(Tag tag : tags) {
System.out.println(" tag: " + tag);
System.out.println(" tag name: " + tag.name());
System.out.println(" tag text: " + tag.text());
}
}
MethodDoc methods[] = cDoc.methods();
for(MethodDoc method : methods) {
System.out.println(" method: " + method);
}
}
return true;
}
}