annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7ecb9273581d hg init
shoshi
parents:
diff changeset
1 package treecms.api;
7ecb9273581d hg init
shoshi
parents:
diff changeset
2
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
3 import java.util.List;
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
4 import java.util.Map;
8
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
5 import java.nio.ByteBuffer;
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
7 /**
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
8 * 木構造の基本のデータ単位であるNodeを示します.Nodeは子供のリストとデータのマップを保持します.また,クライアントはノードが保持しているデータをNodeDataとして
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
9 * 取得することが出来ます.
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
10 * @author shoshi
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
11 */
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents: 1
diff changeset
12 public interface Node
0
7ecb9273581d hg init
shoshi
parents:
diff changeset
13 {
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
14 /**
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
15 * Nodeに対応するNodeIDを取得します.
7
fc19e38b669b added concurrent access client for cassandr
shoshi
parents: 6
diff changeset
16 * @return Nodeに対応するNodeID
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
17 */
0
7ecb9273581d hg init
shoshi
parents:
diff changeset
18 public NodeID getID();
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
19
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
20 /**
7
fc19e38b669b added concurrent access client for cassandr
shoshi
parents: 6
diff changeset
21 * Nodeが保持するデータを取得します.クライアントはこのメソッドを用いて取得されるNodeDataを用いてNodeの内容を<b>変更できません</b>。
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
22 * @return Nodeが保持するNodeData
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
23 */
1
bdde898e8ef9 add Forest
shoshi
parents: 0
diff changeset
24 public NodeData getData();
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
25
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
26 /**
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
27 * Nodeが属するForestを取得します.
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
28 * @return Nodeが属するForest
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
29 */
2
4a5ee88f02cf added OnMemoryForest
shoshi
parents: 1
diff changeset
30 public Forest getForest();
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
31
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
32 /**
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
33 * 子供Nodeのリストを取得します..
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
34 * @return 子供Nodeのリスト
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
35 */
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
36 public List<Node> children();
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
37
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
38 /**
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
39 * このNodeが保持するデータをマップとしてすべて取得します.
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
40 * @return Nodeが保持するすべてのデータのマップ
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
41 */
8
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
42 public Map<ByteBuffer,ByteBuffer> getAll();
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
43
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
44 /**
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
45 * このNodeが保持する値の中で指定されたキーと対応する値を取得します.
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
46 * @param _key データに対応するキー
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
47 * @return キーと対応する値,見つからない場合はnull
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
48 */
8
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
49 public ByteBuffer get(ByteBuffer _key);
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
50
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
51 /**
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
52 * 指定されたリストに含まれるNodeを,すべて子供Nodeとして追加します.
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
53 * @param _children 追加される子供Nodeを保持するリスト
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
54 */
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
55 public void addAll(List<Node> _children);
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
56
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
57 /**
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
58 * 指定されたNodeを子供Nodeとして追加します.
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
59 * @param _child
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
60 */
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
61 public void add(Node _child);
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
62
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
63 /**
8
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
64 * 指定されたNodeを削除します。
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
65 * @param _child
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
66 */
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
67 public void remove(Node _child);
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
68
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
69 /**
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
70 * キーとそれに対応する値を保存します.キーが重複した場合は上書きされます.
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
71 * @param _key キー
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
72 * @param _value 値
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
73 */
8
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
74 public void put(ByteBuffer _key,ByteBuffer _value);
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
75
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
76 /**
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
77 * キーとそれに対応する値を削除します。
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
78 * @param _key キー
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
79 */
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
80 public void remove(ByteBuffer _key);
6
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
81
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
82 /**
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
83 * キーとそれに対応する値を複数保持するマップを引数としてとり,マップが保持する値をすべて追加します.
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
84 * @param _map 追加される値のマップ
12604eb6b615 added javadoc
shoshi
parents: 4
diff changeset
85 */
8
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents: 7
diff changeset
86 public void putAll(Map<ByteBuffer,ByteBuffer> _map);
0
7ecb9273581d hg init
shoshi
parents:
diff changeset
87 }