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