EJB3笔记7-EJB3 Framwork:初学jdk5的annotation生成代码2—借助javadoc生成代码
EJB3笔记7-EJB3 Framwork:初学jdk5的annotation生成代码2—借助javadoc生成代码
Author fancyhf@163.com fancyhf.mblogger.cn
二、借助javadoc来读取annotation成代码
学习来源,Declarative Programming in Java:http://www.onjava.com/pub/a/onjava/2004/04/21/declarative.html?page=1
1.ListAnnotations.java列出指定包的类的所有的annotation。
2.因为要通过javadoc命令行运行,所以必须定义:
public static boolean start(RootDoc root) {
ClassDoc[] classes = root.classes();
for (ClassDoc clsDoc : classes) {
processAClass(clsDoc);
}
return true;
}
3.处理读到的annotation
static void processAClass(ClassDoc clsDoc) {
System.out.println("List of annotations in " +
clsDoc.name());
list(clsDoc.annotations());
}
4.列出annotation
static void list(AnnotationDesc[] annDescs) {
for (AnnotationDesc ad : annDescs) {
AnnotationTypeDoc at = ad.annotationType();
System.out.println("----------");
System.out.println("Annotation : " + at.name());
AnnotationDesc.ElementValuePair [] elements =
ad.elementValues();
for(AnnotationDesc.ElementValuePair mvp : elements) {
System.out.println("Element = " +
mvp.element().name() +
", Value = "+ mvp.value() + "");
}
}
}
5.类就是上篇中的Test.java
6.运行程序:
a.通过命令行:
前提:设置好正确的classpath
javadoc -doclet testproject.test.ListAnnotations -sourcepath testproject\src -package testproject.test
7.结果:
List of annotations in XmlExporter
List of annotations in Test
----------
Annotation : CommandClass
问题点数:0、回复次数:0Top




