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