annotate src/treecms/api/Forest.java @ 15:22cd920986c5

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