0
|
1 package treecms.api;
|
|
2
|
6
|
3 /**
|
|
4 * ForestはNodeの集合で、集合に対するアクセスを提供します.クライアントはNodeIDを用いてNodeの取得や作成を行うことが出来ます.
|
|
5 * @author shoshi
|
|
6 */
|
1
|
7 public interface Forest
|
0
|
8 {
|
6
|
9 /**
|
|
10 * NodeIDで示されるNodeを取得します.
|
|
11 * @param _id Nodeを示すNodeID.
|
|
12 * @return NodeIDと一致するNodeがある場合は,Nodeのインスタンスを返し,見つからない場合はnullを返します.
|
|
13 */
|
1
|
14 Node get(NodeID _id);
|
6
|
15
|
|
16 /**
|
|
17 * 同じUUIDを持つNode中で最新のNodeを取得します.
|
|
18 * @param _uuid NodeIDのUUID
|
|
19 * @return UUIDと一致するNodeが見つからない場合はnullを返します.
|
|
20 */
|
|
21 Node getTip(String _uuid);
|
|
22
|
|
23 /**
|
|
24 * 新しいNodeを作成します.このメソッドで作成されるNodeは新しいUUIDを持ちます.
|
|
25 * @return 新しいNode
|
|
26 */
|
2
|
27 Node create();
|
6
|
28
|
|
29 /**
|
|
30 * NodeDataを保持する新しいNodeを作成します.このメソッドで作成されるNodeは新しいUUIDを持ちます.
|
|
31 * このメソッドはNodeDataをNodeに割り当てるとき防御的コピーを行います.
|
|
32 * @param _data 新しいNodeが保持するNodeData
|
|
33 * @return NodeDataを保持した新しいNode
|
|
34 */
|
|
35 Node create(NodeData _data);
|
0
|
36 }
|