【Lv:3】
- 注册
- 2019/02/03
- 消息
- 74
- 金粒
- 4,914.00金粒
DSL(Domain Specified Language领域通用语言。这里我实现了其解析为配置的功能。
github: 点击进入
SimpleDSL4j
SimpleDSL - 可以简化自定义DSL文件的解析
具体使用方法参见Example类
如代码案例所示,hello和items为父标签,一般如hello,items所示
byProperty可以获取值标签,如url就是一个值标签,在Example中没有指定,会在byProperty中获取
items{
hello{
url "helloworld"
}
}
如上面代码执行为
url : [0]
items.hello
同样的,您可以在dsl上写groovy代码
items{
hello{
url "helloworld"
print "abc"
}
}
github: 点击进入
SimpleDSL4j
SimpleDSL - 可以简化自定义DSL文件的解析
具体使用方法参见Example类
如代码案例所示,hello和items为父标签,一般如hello,items所示
Java:
package net.noyark.www.dsl.utils
class Example extends DSLParser {
Example() {
super(new File("test.groovy"),"UTF-8")
}
@Override
void byProperty(String name, Object args,String stack) {
println name+" : "+args
println(stack)
}
@DSLMethod
void hello(Closure closure){
closure()
}
@DSLMethod
void items(Closure closure){
closure()
}
static void main(String[] args) {
Example example = new Example()
}
}
byProperty可以获取值标签,如url就是一个值标签,在Example中没有指定,会在byProperty中获取
items{
hello{
url "helloworld"
}
}
如上面代码执行为
url : [0]
items.hello
同样的,您可以在dsl上写groovy代码
items{
hello{
url "helloworld"
print "abc"
}
}