DOMが迂遠4

Nodeを返す関数で「結果が空の場合」に何を返せばいいのかをかなり悩んでいたのだが、結局DocumentFragmentが適当なようだ。Elementとかだと「有効な名前」を要求されるので問題がある。その点、DocumentFragmentなら名前とかがないのでちょうどいい。


NodeListは最初配列を使って普通に書いてみたが、JAVAの配列はサイズが固定されているので使いにくく、java.util.ArrayListを使って書き直してみた。*1 *2


こんな感じ

public class ResultNodeList implements NodeList{
	private ArrayList list;
	public ResultNodeList() {
		this.list = new ArrayList();
	}
	public int getLength(){
		return this.list.size();
	}
	public Node item(int index){
		return this.list.get(index);
	}
	public ResultNodeList append(Node node){
		this.list.add(node);		
		return this;
	}
}

*1:最初は自前で配列のサイズ拡張処理を書きそうになっていたが、検索しているとArrayListというのがあったのでAPIドキュメントを見ると、まさに書こうとした内容だったので助かった(笑)

*2:その過程で自分が使っているEclipseが古すぎることに気付いた。ArrayListという表記を受け付けない。最初はJAVA自体が古いのかと思ったが、ちゃんとJAVA6だった。というか、手動でjavacをかけると問題なかった。