Docletを作成するには DocletはJavadoc toolを使って、Javaのソースコードのコメントを処理するためのプログラムです。
Javadoc toolではJava APIドキュメントを得ることができますが、Docletを使用することで自分の自由にコメントの処理を作ることが出来ます。
以下の例では、getTargetMethodメソッドが@mycommentというコメントのつけられたメソッド名の一覧を返します。
コンパイルには、j2sdkのlib\tools.jarをクラスパスに指定する必要があります。
import java.util.Vector;
import com.sun.javadoc.ClassDoc;
import com.sun.javadoc.MethodDoc;
import com.sun.javadoc.RootDoc;
import com.sun.javadoc.Tag;
public class ExtractClientMethodsDoclet
{
// class variable, not instance variable
public static Vector targetMethods = new Vector();
// cannot make instance
private ExtractClientMethodsDoclet()
{
}
public static boolean start(RootDoc root)
{
String tagName = "myComment";
writeContents(root.classes(), tagName);
return true;
}
private static void writeContents(ClassDoc[] classes, String tagName)
{
targetMethods = new Vector();
// for each class
for (int i=0; i < classes.length; i++)
{
// for each methods
MethodDoc[] methods = classes[i].methods();
for (int j=0; j < methods.length; j++)
{
// for each tags
Tag[] tags = methods[j].tags(tagName);
if (tags.length > 0)
{
//System.out.println(methods[j].name());
targetMethods.add(methods[j].name().toString());
}
}
}
}
public static String[] getTargetMethods()
{
String[] methods = new String[targetMethods.size()];
for(int i=0; i < targetMethods.size(); i++)
{
methods[i] = (String)targetMethods.elementAt(i);
}
return methods;
}
}
目次に戻る
| Copyright(c) 2008 WoodenSoldier Software |
|