annotate src/treecms/api/Forest.java @ 17:168deb591f21

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