diff src/treecms/api/Node.java @ 8:f96193babac0

changed byte[] to ByteBuffer added TreeEditor.updateTree(Node,NodeData,Node[]) for node path is known. added GUIEditor
author shoshi
date Thu, 31 Mar 2011 02:08:44 +0900
parents fc19e38b669b
children 85061e874775
line wrap: on
line diff
--- a/src/treecms/api/Node.java	Thu Mar 17 23:24:08 2011 +0900
+++ b/src/treecms/api/Node.java	Thu Mar 31 02:08:44 2011 +0900
@@ -2,6 +2,7 @@
 
 import java.util.List;
 import java.util.Map;
+import java.nio.ByteBuffer;
 
 /**
  * 木構造の基本のデータ単位であるNodeを示します.Nodeは子供のリストとデータのマップを保持します.また,クライアントはノードが保持しているデータをNodeDataとして
@@ -38,14 +39,14 @@
 	 * このNodeが保持するデータをマップとしてすべて取得します.
 	 * @return Nodeが保持するすべてのデータのマップ
 	 */
-	public Map<byte[],byte[]> getAll();
+	public Map<ByteBuffer,ByteBuffer> getAll();
 	
 	/**
 	 * このNodeが保持する値の中で指定されたキーと対応する値を取得します.
 	 * @param _key データに対応するキー
 	 * @return キーと対応する値,見つからない場合はnull
 	 */
-	public byte[] get(byte[] _key);
+	public ByteBuffer get(ByteBuffer _key);
 	
 	/**
 	 * 指定されたリストに含まれるNodeを,すべて子供Nodeとして追加します.
@@ -60,15 +61,27 @@
 	public void add(Node _child);
 	
 	/**
+	 * 指定されたNodeを削除します。
+	 * @param _child
+	 */
+	public void remove(Node _child);
+	
+	/**
 	 * キーとそれに対応する値を保存します.キーが重複した場合は上書きされます.
 	 * @param _key キー
 	 * @param _value 値
 	 */
-	public void put(byte[] _key,byte[] _value);
+	public void put(ByteBuffer _key,ByteBuffer _value);
+	
+	/**
+	 * キーとそれに対応する値を削除します。
+	 * @param _key キー
+	 */
+	public void remove(ByteBuffer _key);
 	
 	/**
 	 * キーとそれに対応する値を複数保持するマップを引数としてとり,マップが保持する値をすべて追加します.
 	 * @param _map 追加される値のマップ
 	 */
-	public void putAll(Map<byte[],byte[]> _map);
+	public void putAll(Map<ByteBuffer,ByteBuffer> _map);
 }
\ No newline at end of file