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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值