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