diff src/treecms/api/TreeEditor.java @ 7:fc19e38b669b

added concurrent access client for cassandr
author shoshi
date Thu, 17 Mar 2011 23:24:08 +0900
parents 12604eb6b615
children f96193babac0
line wrap: on
line diff
--- a/src/treecms/api/TreeEditor.java	Mon Mar 14 23:24:38 2011 +0900
+++ b/src/treecms/api/TreeEditor.java	Thu Mar 17 23:24:08 2011 +0900
@@ -1,12 +1,14 @@
 package treecms.api;
 
+import treecms.tree.util.PathNotFoundException;
+
 /**
  * 木構造を非破壊的に更新する機能を提供します.TreeEditorはTreeを非破壊的に更新していき,commitすることでTreeに更新を適用します.
  * TreeEditor.getRootはcommitされていない状態のRootNodeを取得します.
  * この機能は分散リポジトリを参考に考案されました.
  * @author shoshi
  */
-public interface TreeEditor extends Tree
+public interface TreeEditor
 {
 	/**
 	 * 非破壊的に更新した木構造を適用します.
@@ -34,10 +36,17 @@
 	public void merge();
 	
 	/**
-	 * 木構造を非破壊的に更新します.
+	 * この木構造のルートNodeを返します。
+	 * @return この木構造のルートNode
+	 */
+	public Node getRoot();
+	
+	/**
+	 * 木構造を非破壊的に更新します.変更の対象となるNodeが木構造内に見つからない場合,PathNotFoundExceptionがスローされます.
 	 * @param _target 更新する対象のNode
 	 * @param _newData 新しいNodeに割り当てられるNodeData
 	 * @return 更新された新しいNode
+	 * @throws PathNotFoundException パスが見つからない場合
 	 */
-	public Node updateTree(Node _target,NodeData _newData);
+	public Node updateTree(Node _target,NodeData _newData) throws PathNotFoundException;
 }