Xtend 2.4.3 扩展活动注解支持文件系统

2.4版本的Xtend引入了活动注解的概念,开发者能够通过它参与到将Xtend源码转换成Java源码的流程。而现在Xtend 2.4.3版本中的活动注解则具有了访问文件系统的能力。

Xtend是一种静态类型编程语言,它会翻译成Java源码。虽然该语言与Java语言非常相近,但是它在Java的基础上扩展了很多目前Java依然缺失的语法结构。例如,开发者能够通过Xtend使用Lambda表达式、类型推理、扩展方法等内容。

我们通常会在Eclipse Java IDE中使用Xtend。从表面上看我们是保存了一个Xtend源文件,但在后台它会被立即翻译成Java源码。因为Xtend和Java能够在一个项目中共存,所以我们可以在Xtend源码中引用Java类和方法,反之亦然。另外,Xtend引入的语法结构能够被应用到已有的Java类中。所以,我们可以扩展已有的功能,哪怕它们来自于第三方类库。

引入活动注解的目的是为了影响Xtend和Java源码之间的转换流程。它的工作原理类似于宏或者Objective-C编译器指令,同时它还有助于减少样板代码。例如,如果我们对一个普通的Xtend类使用“@singleton”注解,那么生成的Java类将自动包含反映该设计模式的必要的代码结构。即使这些结构将会在晚些时候生成,但在其他的Xtend类中依然能立即使用它们。上面的“@singleton”类将暴露一个getInstance()方法,而这仅仅是因为应用了一个注解。

通过接受一个文件系统API,开发者现在能够使用活动注解创建源码之外的制品。例如,Xtend的首席开发人员Sven Efftinge在一个博客中展示了如何使用活动注解支持国际化。他对一个包含了静态字符串常量的Xtend类添加了注解,之后通过注解引导生成了一个包含访问常量的静态方法的Java类和一个包含字符串值的相关属性文件。注解的另一种用途是自动生成源码文件的签名或者摘要:

依然是临时的活动注解API拥有了一个新的编译器阶段和API,用户能够通过它们在编译期间与文件系统进行交互。这一方面有助于根据配置文件或者普通的项目资源生成签名,另一方面也可以根据代码更新或者全部生成这样的资源。

查看英文原文:Xtend 2.4.3 Extends Active Annotations to the File System

你可能感兴趣的:(Xtend 2.4.3 扩展活动注解支持文件系统)