Xtend2.4.3扩展了基于文件系统的动态注解

  2.4版本的Xtend介绍了动态注解的概念,它使得开发者可以参与到Xtend源代码到Java源代码的转换中。现在,2.4.3版本的Xtend使动态注解可以访问文件系统。

  Xtend是静态类型的编程语言,需要转换成Java代码,尽管它非常接近Java语言,但是它扩展了许多句法结构,而这是Java所没有的。通过Xtend,开发者可以使用lambda表达式、类型推断、扩展方法和其他很多东西。

  通常Xtend被用于Eclipse Java IDE中,保存一个Xtend代码文件,在后台它就可以被很快的转换成Java代码,自从Xtend和Java可以同时存在于一个项目中,Xtend就很有可能在源代码中引用Java类和方法,反之亦然。此外,Xtend引用的句法结构可以存在于Java类中。这样,它也有可能可以从第三方库中扩展现有功能。

  动态注解被用来改善Xtend和Java代码之间的转换过程。它们的工作方式类似于宏命令或者Object-c编译器指令,也能帮助减少引用代码量。举个例子,用"@singleton"注解的Xtend类和继承于Java的类可以自动的包含必要的代码来反射出代码的设计模式。尽管那些结构在以后的阶段中会被生成,它们也会立即访问其他的Xtend类。以上包含"@singleton"类会想外界暴露出一个getInstance()方法,而这只要使用注解即可完成。

  如今通过接受一个文件系统的API,开发者就可以使用动态注解来创建除源代码之外的手工代码。Sven Efftinge,Xtend项目开发的负责人,在blog entry中展示了动态注解如何支持国际化。一个包含的static String的Xtend类被注解,然后它就可以创建包含静态方法的Java类访问常数和一个包含字符串的相应的属性文件。其他的用处是可以使用源文件就可以自动的生成签名或者摘要。

  临时的动态注解已经得到了一个新的编译器和API,可以使用户在编译期间与文件系统进行交互。这一方面对于在配置文件或者一般项目源上生成签名很有用处,另一方面允许基于代码更新或者完成生成这样的资源。

 

原文地址:http://www.infoq.com/news/2013/09/active-annotations-filesystem

 

饭后茶余翻译以为乐趣,若有误,恳请斧正!

posted @ 2013-09-13 22:24  浪屿  阅读(319)  评论(0编辑  收藏  举报