Mercurial > hg > Members > shoshi > TreeCMSv2
comparison src/treecms/api/TreeNode.java @ 14:8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
author | misaka |
---|---|
date | Tue, 17 May 2011 18:44:14 +0900 |
parents | fbbb7e414346 |
children | 22cd920986c5 |
comparison
equal
deleted
inserted
replaced
13:c8601b0fa8a3 | 14:8bf59f161b23 |
---|---|
1 package treecms.api; | 1 package treecms.api; |
2 | |
3 import java.nio.ByteBuffer; | |
4 import java.util.Iterator; | |
5 import java.util.List; | |
6 import java.util.Map; | |
7 import java.util.Set; | |
8 | 2 |
9 /** | 3 /** |
10 * DoubleLinkedなNodeの実装です.SingleLinkedなNodeの実装と違い,親の情報を保持します. | 4 * DoubleLinkedなNodeの実装です.SingleLinkedなNodeの実装と違い,親の情報を保持します. |
11 * 非破壊的木構造の実装では,Nodeは子どもの情報しか持っていません.これは,一つのNodeに対して複数の親が存在するためです. | 5 * 非破壊的木構造の実装では,Nodeは子どもの情報しか持っていません.これは,一つのNodeに対して複数の親が存在するためです. |
12 * 木構造内のあるNodeへのRootNodeからのパスを検索する手間を省くことが出来ます. | 6 * 木構造内のあるNodeへのRootNodeからのパスを検索する手間を省くことが出来ます. |
15 * TreeNodeがNodeのインターフェイスを継承していないのは,継承するとSingleLinkedなNodeに子供として追加できるようになるからです. | 9 * TreeNodeがNodeのインターフェイスを継承していないのは,継承するとSingleLinkedなNodeに子供として追加できるようになるからです. |
16 * | 10 * |
17 * また,TreeNodeを編集したときは非破壊的に編集されず、破壊的に編集されます. | 11 * また,TreeNodeを編集したときは非破壊的に編集されず、破壊的に編集されます. |
18 * @author shoshi | 12 * @author shoshi |
19 */ | 13 */ |
20 public interface TreeNode | 14 public interface TreeNode extends Node<TreeNode> |
21 { | 15 { |
22 /* | |
23 * 属性関連のメソッド | |
24 */ | |
25 public ByteBuffer get(ByteBuffer _key); | |
26 public Map<ByteBuffer,ByteBuffer> getAll(); | |
27 public void put(ByteBuffer _key,ByteBuffer _value); | |
28 public void putAll(Map<ByteBuffer,ByteBuffer> _map); | |
29 public void remove(ByteBuffer _key); | |
30 public void removeAll(Set<ByteBuffer> _keys); | |
31 public void clear(); | |
32 | |
33 /* | |
34 * 子供関連のメソッド | |
35 */ | |
36 public Iterator<TreeNode> getChildren(); | |
37 public void addChild(TreeNode _n); | |
38 public void addChildren(List<TreeNode> _list); | |
39 public void removeChild(TreeNode _n); | |
40 public void removeChildren(List<TreeNode> _list); | |
41 public void clearChildren(); | |
42 | |
43 /* | |
44 * 親関連のメソッド | |
45 */ | |
46 public NodeID getID(); | |
47 public Forest getForest(); | |
48 public TreeNode getParent(); | 16 public TreeNode getParent(); |
49 public Node getNode(); | 17 public TreeNode getNode(); |
50 } | 18 } |