view src/treecms/api/Forest.java @ 6:12604eb6b615

added javadoc
author shoshi
date Mon, 14 Mar 2011 23:24:38 +0900
parents 4a5ee88f02cf
children f96193babac0
line wrap: on
line source

package treecms.api;

/**
 * ForestはNodeの集合で、集合に対するアクセスを提供します.クライアントはNodeIDを用いてNodeの取得や作成を行うことが出来ます.
 * @author shoshi
 */
public interface Forest
{
	/**
	 * NodeIDで示されるNodeを取得します.
	 * @param _id Nodeを示すNodeID.
	 * @return NodeIDと一致するNodeがある場合は,Nodeのインスタンスを返し,見つからない場合はnullを返します.
	 */
	Node get(NodeID _id);
	
	/**
	 * 同じUUIDを持つNode中で最新のNodeを取得します.
	 * @param _uuid NodeIDのUUID
	 * @return UUIDと一致するNodeが見つからない場合はnullを返します.
	 */
	Node getTip(String _uuid);
	
	/**
	 * 新しいNodeを作成します.このメソッドで作成されるNodeは新しいUUIDを持ちます.
	 * @return 新しいNode
	 */
	Node create();
	
	/**
	 * NodeDataを保持する新しいNodeを作成します.このメソッドで作成されるNodeは新しいUUIDを持ちます.
	 * このメソッドはNodeDataをNodeに割り当てるとき防御的コピーを行います.
	 * @param _data 新しいNodeが保持するNodeData
	 * @return NodeDataを保持した新しいNode
	 */
	Node create(NodeData _data);
}