流れるようなインターフェイスの練習 2008/03/28

「流れるようなインターフェイス」の練習


getter,setterは変更せず、setterには手を加えず、まず、フィールド変数名と同じ名前のsetメソッドを用意して、そのメソッドが自分自身(this)をかえすというイメージかなと。


import java.util.ArrayList;
import java.util.List;

public class TestDoc {

public static void main(String[] args) {

Doc.Author author = new Doc.Author().name("ugo.nakawaka");
Doc.Content content = new Doc.Content().text("test");

Doc doc = new Doc().author(author)
.content(content);

DocDoc docDoc = new DocDoc();
docDoc.add(doc).add(doc);

}

static class DocDoc {
List<Doc> list = new ArrayList<Doc>();
public DocDoc(){}

public DocDoc add(Doc doc){
list.add(doc);
return this;
}

}

static class Doc {

Content content;
Author author;

public static class Author {
String name;
public Author(){}
public Author name(String name){
this.name = name;
return this;
}
}
public static class Content {
String text;
public Content(){}
public Content text(String text){
this.text = text;
return this;
}
}
public Author getAuthor() {
return author;
}
public Content getContent() {
return content;
}
public Doc author(Author author) {
this.author = author;
return this;
}
public Doc content(Content content) {
this.content = content;
return this;
}
}
}


計測せずに、「絶対」という言葉を使うのは危険だなと。

: