Mercurial > hg > Members > shoshi > TreeCMSv2
diff src/treecms/memory/OnMemoryNode.java @ 14:8bf59f161b23
separete Node methods to NodeContext , NodeAttribute , NodeChildren
author | misaka |
---|---|
date | Tue, 17 May 2011 18:44:14 +0900 |
parents | c8601b0fa8a3 |
children | 22cd920986c5 |
line wrap: on
line diff
--- a/src/treecms/memory/OnMemoryNode.java Wed May 11 22:08:20 2011 +0900 +++ b/src/treecms/memory/OnMemoryNode.java Tue May 17 18:44:14 2011 +0900 @@ -1,11 +1,5 @@ package treecms.memory; -import java.nio.ByteBuffer; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - import treecms.api.Forest; import treecms.api.Node; import treecms.api.NodeData; @@ -15,12 +9,10 @@ * オンメモリ上でのNodeの実装です。 * @author shoshi */ -class OnMemoryNode implements Node +class OnMemoryNode extends NodeData implements Node { private OnMemoryForest m_forest; - private NodeID m_id; - private NodeData m_data; /** * コンストラクタ @@ -30,21 +22,11 @@ */ public OnMemoryNode(OnMemoryForest _forest,NodeID _id,NodeData _newData) { + super(_newData); m_id = _id; m_forest = _forest; - m_data = (_newData != null) ? _newData.deepCopy() : new NodeData(); } - - /* - * Nodeの情報関連 - */ - - @Override - public Forest getForest() - { - return m_forest; - } - + @Override public NodeID getID() { @@ -54,113 +36,18 @@ @Override public NodeData getData() { - return m_data.deepCopy(); - } - - /* - * 子供関連のメソッド - */ - - @Override - public Iterator<Node> getChildren() - { - //Iteratorが変更不可なので、そのまま渡しても構わない - return m_data.getChildren(); - } - - @Override - public void addChild(Node _child) - { - m_data.addChild(_child); - } - - @Override - public void addChildren(List<Node> _child) - { - m_data.addChildren(_child); - } - - @Override - public void removeChild(Node _child) - { - m_data.removeChild(_child); - } - - @Override - public void removeChildren(List<Node> _children) - { - m_data.removeChildren(_children); - } - - @Override - public void clearChildren() - { - m_data.clearChildren(); - } - - /* - * 要素関連のメソッド - */ - - @Override - public ByteBuffer get(ByteBuffer _key) - { - return m_data.get(_key); + return new NodeData(this); } @Override - public Map<ByteBuffer,ByteBuffer> getAll() - { - return m_data.getAll(); - } - - @Override - public void put(ByteBuffer _key, ByteBuffer _value) + public Forest getForest() { - m_data.put(_key,_value); - } - - @Override - public void putAll(Map<ByteBuffer, ByteBuffer> _map) - { - m_data.putAll(_map); + return m_forest; } @Override - public void remove(ByteBuffer _key) - { - m_data.remove(_key); - } - - @Override - public void removeAll(Set<ByteBuffer> _keySet) - { - m_data.removeAll(_keySet); - } - - @Override - public void clear() + public Node cloneNode(NodeData _newData) { - m_data.clear(); - } - - @Override - public int hashCode() - { - return m_id.hashCode(); - } - - @Override - public String toString() - { - return getID().toString(); - } - - @Override - public Node cloneNode(NodeData _data) - { - NodeData newData = (_data != null) ? _data : m_data; - Node clone = m_forest.createNode(m_id.update(),newData); - return clone; + return m_forest.createNode(m_id,_newData); } }