Mercurial > hg > Members > shoshi > TreeCMSv2
annotate src/treecms/api/Forest.java @ 15:22cd920986c5
commit
author | misaka |
---|---|
date | Tue, 17 May 2011 21:25:17 +0900 |
parents | 8bf59f161b23 |
children | bb9760760744 |
rev | line source |
---|---|
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 */ | |
14
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
11
diff
changeset
|
14 SingleNode get(NodeID _id); |
6 | 15 |
16 /** | |
17 * 同じUUIDを持つNode中で最新のNodeを取得します. | |
18 * @param _uuid NodeIDのUUID | |
19 * @return UUIDと一致するNodeが見つからない場合はnullを返します. | |
20 */ | |
14
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
11
diff
changeset
|
21 SingleNode getTip(String _uuid); |
6 | 22 |
23 /** | |
24 * 新しいNodeを作成します.このメソッドで作成されるNodeは新しいUUIDを持ちます. | |
25 * @return 新しいNode | |
26 */ | |
14
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
11
diff
changeset
|
27 SingleNode create(); |
6 | 28 |
29 /** | |
9 | 30 * あるNodeを木として返します |
31 * @param _root | |
32 * @return Tree あるNodeをルートとした木 | |
33 */ | |
14
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
11
diff
changeset
|
34 Tree getTree(SingleNode _root); |
9 | 35 |
36 /** | |
11 | 37 * 木を非破壊的に編集するMonotonicTreeを取得します |
9 | 38 * @param _tree 対象 |
39 * @return TreeEditor | |
40 */ | |
15 | 41 MonotonicTree getMonotonicTree(SingleNode _root); |
9 | 42 |
43 /** | |
6 | 44 * NodeDataを保持する新しいNodeを作成します.このメソッドで作成されるNodeは新しいUUIDを持ちます. |
45 * このメソッドはNodeDataをNodeに割り当てるとき防御的コピーを行います. | |
46 * @param _data 新しいNodeが保持するNodeData | |
47 * @return NodeDataを保持した新しいNode | |
48 */ | |
14
8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
misaka
parents:
11
diff
changeset
|
49 SingleNode create(NodeData<SingleNode> _data); |
8 | 50 |
51 /** | |
52 * このForestの現在の最新のMainTreeを取得します | |
53 * @return このForestのMainTree、最新版 | |
54 */ | |
55 Tree getMainTree(); | |
0 | 56 } |