Groovy-Eclipse 2.5中支持DSL Descriptor (DSLD)。DSLD是Groovy文件,是对Groovy-Eclipse中的推理引擎和内容助手的扩展。Grails同样适用。
用法很简单,首先可通过如下链接安装Groovy-Eclipse:
Eclipse 3.6使用的安装路径 http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.6/ Eclipse 3.7使用的安装路径 http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.7/
创建Groovy工程,将DSLD元脚本文件拷贝至工程目录下。需要注意的是,这个元脚本文件不是必须的,但是它会为你的DSLD文件添加内容助手,方便了DSLD文件的开发。
接下来,就可以通过File -> New -> Groovy DSL Descriptor,创建自己的DSLD文件了。注意,请将DSLD文件放在源文件的某个目录下。
DSLD语言是面向方面的领域特定语言(aspect-oriented domain specific language),主要由两部分组成:切入点和程序块。所谓切入点,就是一个筛选条件,满足条件的就会执行程序块。而程序块则用于定义额外的属性或方法。如:
currentType(subType(Number)).accept {
property name:"cm", type:"Distance", doc:
"""A <code>cm</code> from
<a href="...">...</a>"""
}
代码中使用accept将切入点和程序块关联起来。意思就是为所有java.lang.Number及其子类添加属性cm。
Grails Domain Class中使用的约束DSL简单而清晰,但是目前还没有编辑器支持这种DSL,有的时候会在运行时才发现DSL出现了语法错误。这时,可以创建DSLD文件,来为DSL添加内容帮助。不过,前提是你使用STS或者Eclipse这样的IDE进行Grails应用的开发。详细DSLD的示例,请参见Andrew Eisenberg的博文。
关于更多的DSLD的示例,可以查看这里。

最新评论
9 周 6 小时之前
9 周 1 天之前
11 周 5 天之前
11 周 5 天之前
17 周 2 天之前
17 周 4 天之前
19 周 3 天之前
20 周 1 天之前
20 周 2 天之前
20 周 5 天之前