Groovy 构造器
在开发过程中,有时候会花大量的重复代码待构造 数据结构,域类,XML,GUI布局,Groovy 提供了相应的构造器对象方法来简化这一过程,以下介绍一些常用的构造器
;
DOM 构造器 DOMBuilder
DOM构建器可用于解析HTML,XHTML和XML,并将其转换为W3C DOM树。
def domStr = """
<studentList createDate='2017-9-20'>
<student>
<id>1263781</id>
<name>assad</name>
<age>20</age>
<city>Guangzhou</city>
</student>
<student>
<id>3729321</id>
<name>Kim</name>
<age>21</age>
<city>Shenzhen</city>
</student>
<student>
<id>3729329</id>
<name>Vency</name>
<age>22</age>
<city>Shanghai</city>
</student>
</studentList> """;
def reader = new StringReader(domStr);
def doc = DomBuilder.parse(reader);
JSON 构造器 JSONBuilder
JsonBuilder用于创建 json 类型的对象。
def builder = new JsonBuilder() ;
def root = builder.students {
student {
name 'assad'
city 'Guangzhou';
Marks(
Subject1: 90,
Subject2: 95,
Subject3:94,
)
student {
name 'vency'
city 'Shanghai';
Marks(
Subject1: 91,
Subject2: 92,
Subject3:98,
)
}
}
println(root.toString());
节点构造器 NodeBuilder
NodeBuilder用于创建Node对象的嵌套树以处理任意数据。
def builder = new NodeBuilder()
def studentlist = builder.userList {
user(name: 'assad', city : 'Guangzhou')
user(name: 'Laval', city : 'Shenzhen')
user(name: 'Jsou', city : 'Hangzhou')
}
println(studentlist)
文件目录构造器
FileTreeBuilder用于构造一个复杂目录。
tmpDir = File.createTempDir();
def fileTreeBuilder = new FileTreeBuilder(tmpDir);
fileTreeBuilder.dir('MyFile') {
dir('Project') {
dir('code') {
file('Helloworld.groovy', 'println "Hello World"')
}
}
}