comparison src/treecms/memory/OnMemoryNode.java @ 15:22cd920986c5

commit
author misaka
date Tue, 17 May 2011 21:25:17 +0900
parents 8bf59f161b23
children bb9760760744
comparison
equal deleted inserted replaced
14:8bf59f161b23 15:22cd920986c5
1 package treecms.memory; 1 package treecms.memory;
2 2
3 import treecms.api.Forest; 3 import treecms.api.Forest;
4 import treecms.api.Node;
5 import treecms.api.NodeData; 4 import treecms.api.NodeData;
6 import treecms.api.NodeID; 5 import treecms.api.NodeID;
6 import treecms.api.SingleNode;
7 7
8 /** 8 /**
9 * オンメモリ上でのNodeの実装です。 9 * オンメモリ上でのNodeの実装です。
10 * @author shoshi 10 * @author shoshi
11 */ 11 */
12 class OnMemoryNode extends NodeData implements Node 12 class OnMemoryNode extends NodeData<SingleNode> implements SingleNode
13 { 13 {
14 private OnMemoryForest m_forest; 14 private OnMemoryForest m_forest;
15 private NodeID m_id; 15 private NodeID m_id;
16 16
17 /** 17 /**
18 * コンストラクタ 18 * コンストラクタ
19 * @param _forest このNodeが属するForestです. 19 * @param _forest このNodeが属するForestです.
20 * @param _id このNodeのNodeIDです. 20 * @param _id このNodeのNodeIDです.
21 * @param _newData このNodeに割り当てるNodeDataです.防御的にコピーします. 21 * @param _newData このNodeに割り当てるNodeDataです.防御的にコピーします.
22 */ 22 */
23 public OnMemoryNode(OnMemoryForest _forest,NodeID _id,NodeData _newData) 23 public OnMemoryNode(OnMemoryForest _forest,NodeID _id,NodeData<SingleNode> _newData)
24 { 24 {
25 super(_newData); 25 super(_newData);
26 m_id = _id; 26 m_id = _id;
27 m_forest = _forest; 27 m_forest = _forest;
28 } 28 }
32 { 32 {
33 return m_id; 33 return m_id;
34 } 34 }
35 35
36 @Override 36 @Override
37 public NodeData getData()
38 {
39 return new NodeData(this);
40 }
41
42 @Override
43 public Forest getForest() 37 public Forest getForest()
44 { 38 {
45 return m_forest; 39 return m_forest;
46 } 40 }
47
48 @Override
49 public Node cloneNode(NodeData _newData)
50 {
51 return m_forest.createNode(m_id,_newData);
52 }
53 } 41 }