diff src/treecms/api/TreeEditor.java @ 6:12604eb6b615

added javadoc
author shoshi
date Mon, 14 Mar 2011 23:24:38 +0900
parents 7ecb9273581d
children fc19e38b669b
line wrap: on
line diff
--- a/src/treecms/api/TreeEditor.java	Tue Mar 01 01:29:59 2011 +0900
+++ b/src/treecms/api/TreeEditor.java	Mon Mar 14 23:24:38 2011 +0900
@@ -1,16 +1,43 @@
 package treecms.api;
 
+/**
+ * 木構造を非破壊的に更新する機能を提供します.TreeEditorはTreeを非破壊的に更新していき,commitすることでTreeに更新を適用します.
+ * TreeEditor.getRootはcommitされていない状態のRootNodeを取得します.
+ * この機能は分散リポジトリを参考に考案されました.
+ * @author shoshi
+ */
 public interface TreeEditor extends Tree
 {
-	//commit local tree to remote tree
+	/**
+	 * 非破壊的に更新した木構造を適用します.
+	 * 更新する際に他の方法により木構造がすでに更新されていた場合,commitは失敗します。_forceがtrueの場合,強制的に置き換えます. 
+	 * @param _force 強制コミットフラグ
+	 * @return 成功した場合true,失敗した場合false
+	 */
 	public boolean commit(boolean _force);
 	
-	//pull updates from remote tree
+	/**
+	 * 監視している木構造をEditorにキャッシュします.
+	 * @return キャッシュが成功した場合はtrue,失敗した場合はfalse
+	 */
 	public boolean pull();
 	
-	//check that is remote tree modified.
+	/**
+	 * 監視されている木構造が更新されていないかチェックします.
+	 * @return 更新されていた場合はture,されていない場合はfalse
+	 */
 	public boolean check();
 	
-	//merge remote tree to local tree
+	/**
+	 * 監視している木構造をキャッシュにマージします.
+	 */
 	public void merge();
+	
+	/**
+	 * 木構造を非破壊的に更新します.
+	 * @param _target 更新する対象のNode
+	 * @param _newData 新しいNodeに割り当てられるNodeData
+	 * @return 更新された新しいNode
+	 */
+	public Node updateTree(Node _target,NodeData _newData);
 }