首先写一个注释类,自定义的CodeTag注释类
CodeTag.java
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE,ElementType.METHOD})
public @interface CodeTag {
String authorName();
String lastModificationDate();
String bugFixes()default "";
}
再写一个掉用该注释类的类
ListClasses.java
import com.sun.javadoc.*;
public class ListClasses extends Doclet{
public static boolean start(RootDoc root)
{
ClassDoc[] classes=root.classes();
for(ClassDoc cd:classes)
{
System.out.println("Class ["+cd+"] has the following methods");
for(MemberDoc md:cd.methods())
{
System.out.println(" "+md);
}
}
return true;
}
}
//接着写的类是得到注释信息,并在doc窗口下把注释信息打出来
AnnotationViewer.java
import com.sun.javadoc.*;
public class AnnotationViewer {
public static boolean start(RootDoc root)
{
ClassDoc[] classes=root.classes();
for(ClassDoc cls : classes)
{
showAnnotations(cls);
}
return (true);
}
static void showAnnotations(ClassDoc cls)
{
System.out.println("Annotations for class ["+cls+"]");
process(cls.annotations());
System.out.println("");
for(MethodDoc m:cls.methods())
{
System.out.println("Annotations for method ["+m+"]");
process(m.annotations());
System.out.println("");
}
}
static void process(AnnotationDesc[] anns)
{
for(AnnotationDesc ad:anns)
{
AnnotationDesc.ElementValuePair evp[]=ad.elementValues();
for(AnnotationDesc.ElementValuePair e:evp)
{
System.out.println("NAME: "+e.element()+",VALUE="+e.value());
}
}
}
}
有了以上的三个类基本上就OK了,现在要想输入出注释的信息,那么就需要用到javadoc这个工具
在doc下输入下面的命令
javadoc -source 1.5 -doclet AnnotationViewer ServerCommandProcessor.java
一切搞定,,。。。。。。。。。。
差点忘了,,记的用javac编译哦.........