YAML
★記法
・!!クラス名でオブジェクトとの対応
例:!!xxx.Book
・変数名、コロン(:)、スペース、値
例:name: Andy
・タブは使わない
!!xxx.Book
title: test
price: 2000
author: !!xxx.Author
firstName: Andy
lastName: Liu
★SankeYaml
https://code.google.com/p/snakeyaml/
Book book = (Book) new Yaml().load(getClass().getResourceAsStream("book.yaml"));
★YAMLと比較
Javaによる一般的記法
Book book = new Book();
book.setTitle("test");
book.setPrice(2000);
Author author = new Author();
author.setFirstName("Andy");
author.setLastName("Liu");
book.setAuthor(author);
return book;
Javaによる宣言的記法
return new Book() {
{
title = "test";
price = 2000;
author = new Author() {
{
firstName = "Andy";
lastName = "Liu";
}
};
}
};
Groovyによる宣言的記法
new Book(
title: "test",
price: 2000,
author: new Author(
firstName: "Andy",
lastName: "Liu",
),
)