OperaMasks组件实现类的自动生成

      在OperaMasks的机制中,提供了原生的生成组件实现类的过程,那么这个过程是如何实现的呢,为什么我们的Ant脚本执行即可达到此功能呢!

      如果我要做一些局部的调整应该如何做,比如,方法应该返回类型,比如某字段的转型规则,应该从哪里入手呢!

      提几个正式的问题:

      1.Annotation Processing Tools(apt),用于对注解进行操作,此工具类库可进行对应的注解的方便操作,即可对标注的 @ExtConfigProperty,@Delegate,@Operation。

      2.package-info.java中定义的enable=true后,为什么此时脚本则可以处理包里面的.java文件,并生成实现类?

      3.它们的执行顺序及类结构图是怎么样的呢?

      4.工具类都提供了哪些功能,包括写一行,过滤等工具类。

      5.ant脚本<apt>的执行,http://ant.apache.org/manual/Tasks/apt.html 可以看到文档中的介绍:

      Runs the annotation processor tool (apt), and then optionally compiles the original code, and any generated source code.

      它是一个用于编译旧的代码,并生成源码的过程。

      据目前来看,我们使用的是一个在注册的Factory中,通过for循环调用了new ComponentDeclarationVisitor(env),将当前环境带入到ComponentDeclarationVisitor中,通过decl.accept方法,必定是调用了ComponentDeclarationVisitor中的visitClassDeclaration方法的,得以继续执行下去,至于里面的API是如何执行的得扫描class文件的只能看源码了。嗯,提到了这个编译过程后,它的扫描策略也是很关键的,保证它在每一个class得到相应的调用。

参考文献:Sun的apt工具及Mirrors包学习  http://mysun.iteye.com/blog/562520

你可能感兴趣的:(apache,ant,Blog,脚本,sun)