comparison src/treecms/api/MonotonicTreeNode.java @ 14:8bf59f161b23

separete Node methods to NodeContext , NodeAttribute , NodeChildren
author misaka
date Tue, 17 May 2011 18:44:14 +0900
parents fbbb7e414346
children 084de6909451
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 * NodeのDoubleLinkedな実装です.SingleLinkedとは違いNodeの親情報まで保持します. 4 * NodeのDoubleLinkedな実装です.SingleLinkedとは違いNodeの親情報まで保持します.
11 * TreeNodeとは違い、この実装は木を非破壊的に編集します. 5 * TreeNodeとは違い、この実装は木を非破壊的に編集します.
12 * @author shoshi 6 * @author shoshi
13 */ 7 */
14 public interface MonotonicTreeNode 8 public interface MonotonicTreeNode extends Node<MonotonicTreeNode>
15 { 9 {
16 /*
17 * 属性関連のメソッド
18 */
19 public ByteBuffer get(ByteBuffer _key);
20 public Map<ByteBuffer,ByteBuffer> getAll();
21 public void put(ByteBuffer _key,ByteBuffer _value);
22 public void putAll(Map<ByteBuffer,ByteBuffer> _map);
23 public void remove(ByteBuffer _key);
24 public void removeAll(Set<ByteBuffer> _keys);
25 public void clear();
26
27 /*
28 * 子供関連のメソッド
29 */
30 public Iterator<MonotonicTreeNode> getChildren();
31 public void addChild(MonotonicTreeNode _n);
32 public void addChildren(List<MonotonicTreeNode> _list);
33 public void removeChild(MonotonicTreeNode _n);
34 public void removeChildren(List<MonotonicTreeNode> _list);
35 public void clearChildren();
36
37 /*
38 * 親関連のメソッド
39 */
40 public NodeID getID();
41 public Forest getForest();
42 public MonotonicTreeNode getParent(); 10 public MonotonicTreeNode getParent();
43 public Node getNode(); 11 public SingleNode getNode();
44 } 12 }