doclet
- サンプルソース
# cd /home/test/src/com/domain/test # vi DocletTest
package com.domain.test;
import java.util.Properties;
import com.sun.javadoc.RootDoc;
import com.sun.javadoc.ClassDoc;
import com.sun.javadoc.ConstructorDoc;
import com.sun.javadoc.ExecutableMemberDoc;
import com.sun.javadoc.FieldDoc;
import com.sun.javadoc.MethodDoc;
import com.sun.javadoc.Parameter;
public class DocletTest{
public static boolean start(RootDoc root){
DocletTest dt=new DocletTest();
ClassDoc[] classes=root.classes();
for (int i=0; i<classes.length; i++){
dt.list(classes[i]);
}
return true;
}
public void list(ClassDoc cd){
System.out.println("class:"+cd.name());
System.out.println("class:"+cd.modifiers());
System.out.println("class:"+cd.qualifiedName());
System.out.println("class:"+cd.containingPackage().name());
ConstructorDoc[] constructors=cd.constructors();
for (int i=0; i<constructors.length; i++){
printDoc(constructors[i],"constructor");
}
MethodDoc[] methods=cd.methods();
for (int i=0; i<methods.length; i++){
printDoc(methods[i],"method");
System.out.println("return:"+methods[i].returnType().typeName());
System.out.println("return:"+methods[i].returnType().toString());
}
FieldDoc[] fields=cd.fields();
for (int i=0; i<fields.length; i++){
System.out.println("field[doc.name]:"+fields[i].name());
System.out.println("field[doc.modi]:"+fields[i].modifiers());
System.out.println("field[doc.qual]:"+fields[i].qualifiedName());
}
}
private void printDoc(ExecutableMemberDoc doc,String type){
System.out.println(type+"[doc.name]:"+doc.name());
System.out.println(type+"[doc.modi]:"+doc.modifiers());
System.out.println(type+"[doc.qual]:"+doc.qualifiedName());
Parameter[] parameters=doc.parameters();
for (int i=0; i<parameters.length; i++){
printParameter(parameters[i]);
}
}
private void printParameter(Parameter parameter){
System.out.println("name:"+parameter.name());
System.out.println("type:"+parameter.typeName());
}
}- ビルドの設定と実行
# cd /home/test # vi build.xml
<project>ディレクティブに追加
<target name="doclettest">
<javadoc
docletpathref="class.path"
classpathref="class.path"
doclet="com.domain.test.DocletTest">
<fileset dir="${build.src}/com.domain/dao" includes="*DaoImpl.java"/>
</javadoc>
</target># ant doclettest
Counter: 434,
today: 1,
yesterday: 0
最終更新: 2008-11-26 (水) 02:00:49 (JST) (1272d) by aqua
