comparison 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
comparison
equal deleted inserted replaced
6:12604eb6b615 7:fc19e38b669b
1 package treecms.api; 1 package treecms.api;
2
3 import treecms.tree.util.PathNotFoundException;
2 4
3 /** 5 /**
4 * 木構造を非破壊的に更新する機能を提供します.TreeEditorはTreeを非破壊的に更新していき,commitすることでTreeに更新を適用します. 6 * 木構造を非破壊的に更新する機能を提供します.TreeEditorはTreeを非破壊的に更新していき,commitすることでTreeに更新を適用します.
5 * TreeEditor.getRootはcommitされていない状態のRootNodeを取得します. 7 * TreeEditor.getRootはcommitされていない状態のRootNodeを取得します.
6 * この機能は分散リポジトリを参考に考案されました. 8 * この機能は分散リポジトリを参考に考案されました.
7 * @author shoshi 9 * @author shoshi
8 */ 10 */
9 public interface TreeEditor extends Tree 11 public interface TreeEditor
10 { 12 {
11 /** 13 /**
12 * 非破壊的に更新した木構造を適用します. 14 * 非破壊的に更新した木構造を適用します.
13 * 更新する際に他の方法により木構造がすでに更新されていた場合,commitは失敗します。_forceがtrueの場合,強制的に置き換えます. 15 * 更新する際に他の方法により木構造がすでに更新されていた場合,commitは失敗します。_forceがtrueの場合,強制的に置き換えます.
14 * @param _force 強制コミットフラグ 16 * @param _force 強制コミットフラグ
32 * 監視している木構造をキャッシュにマージします. 34 * 監視している木構造をキャッシュにマージします.
33 */ 35 */
34 public void merge(); 36 public void merge();
35 37
36 /** 38 /**
37 * 木構造を非破壊的に更新します. 39 * この木構造のルートNodeを返します。
40 * @return この木構造のルートNode
41 */
42 public Node getRoot();
43
44 /**
45 * 木構造を非破壊的に更新します.変更の対象となるNodeが木構造内に見つからない場合,PathNotFoundExceptionがスローされます.
38 * @param _target 更新する対象のNode 46 * @param _target 更新する対象のNode
39 * @param _newData 新しいNodeに割り当てられるNodeData 47 * @param _newData 新しいNodeに割り当てられるNodeData
40 * @return 更新された新しいNode 48 * @return 更新された新しいNode
49 * @throws PathNotFoundException パスが見つからない場合
41 */ 50 */
42 public Node updateTree(Node _target,NodeData _newData); 51 public Node updateTree(Node _target,NodeData _newData) throws PathNotFoundException;
43 } 52 }