Mercurial > hg > Members > shoshi > TreeCMSv2
comparison src/treecms/memory/OnMemoryNode.java @ 4:f5ed85be5640
finished treecms.cassandra.v1 implementation (not tested yet)
author | shoshi |
---|---|
date | Thu, 24 Feb 2011 21:30:18 +0900 |
parents | 4a5ee88f02cf |
children | fc19e38b669b |
comparison
equal
deleted
inserted
replaced
3:5fa718b63cd5 | 4:f5ed85be5640 |
---|---|
7 import treecms.api.NodeData; | 7 import treecms.api.NodeData; |
8 import treecms.api.NodeID; | 8 import treecms.api.NodeID; |
9 | 9 |
10 public class OnMemoryNode implements Node | 10 public class OnMemoryNode implements Node |
11 { | 11 { |
12 OnMemoryForest m_forest; | |
13 | |
12 NodeID m_id; | 14 NodeID m_id; |
13 OnMemoryForest m_forest; | |
14 NodeData m_data; | 15 NodeData m_data; |
15 | 16 |
16 public OnMemoryNode(OnMemoryForest _forest,NodeID _id) | 17 public OnMemoryNode(OnMemoryForest _forest,NodeID _id,NodeData _newData) |
17 { | 18 { |
18 m_id = _id; | 19 m_id = _id; |
19 m_forest = _forest; | 20 m_forest = _forest; |
20 m_data = new NodeDataImpl(); | 21 m_data = (_newData != null) ? _newData.deepCopy() : new NodeData(); |
21 } | 22 } |
22 | 23 |
23 @Override | 24 @Override |
24 public Forest getForest() | 25 public Forest getForest() |
25 { | 26 { |
35 @Override | 36 @Override |
36 public NodeData getData() | 37 public NodeData getData() |
37 { | 38 { |
38 return m_data; | 39 return m_data; |
39 } | 40 } |
40 | |
41 @Override | |
42 public NodeData newData() | |
43 { | |
44 return new NodeDataImpl(); | |
45 } | |
46 | |
47 class NodeDataImpl implements NodeData | |
48 { | |
49 List<Node> m_children; | |
50 String m_value; | |
51 | |
52 public NodeDataImpl() | |
53 { | |
54 m_children = new LinkedList<Node>(); | |
55 } | |
56 | |
57 @Override | |
58 public List<Node> list() | |
59 { | |
60 return m_children; | |
61 } | |
62 | |
63 @Override | |
64 public String get() | |
65 { | |
66 return m_value; | |
67 } | |
68 | |
69 @Override | |
70 public void set(String _str) | |
71 { | |
72 m_value = _str; | |
73 } | |
74 | |
75 @Override | |
76 public void add(List<Node> _child) | |
77 { | |
78 m_children.addAll(_child); | |
79 } | |
80 | |
81 @Override | |
82 public void del(List<Node> _child) | |
83 { | |
84 m_children.removeAll(_child); | |
85 } | |
86 | |
87 @Override | |
88 public void clear() | |
89 { | |
90 m_children.clear(); | |
91 } | |
92 | |
93 } | |
94 } | 41 } |