Mercurial > hg > Members > shoshi > TreeCMSv2
view src/treecms/memory/OnMemoryTreeNode.java @ 11:85061e874775
commit
author | shoshi |
---|---|
date | Fri, 06 May 2011 00:42:57 +0900 |
parents | |
children | fbbb7e414346 |
line wrap: on
line source
package treecms.memory; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.commons.collections.list.SetUniqueList; import treecms.api.Forest; import treecms.api.Node; import treecms.api.NodeData; import treecms.api.NodeID; import treecms.api.SingleNode; import treecms.api.TreeNode; public class OnMemoryTreeNode implements TreeNode { public OnMemoryTreeNode m_parent; public OnMemoryNode m_node; public OnMemoryTreeNode(OnMemoryNode _node,OnMemoryTreeNode _parent) { if(_node == null){ throw new NullPointerException(); } m_node = _node; //このノードがルートの場合、親はnullで構わない. m_parent = _parent; } @Override public NodeID getID() { return m_node.getID(); } @Override public NodeData getData() { return m_node.getData(); } @Override public Forest getForest() { return m_node.getForest(); } @Override public List<Node> children() { /* * TreeNodeの子TreeNodeリストを作成する. * m_node(対象ノード)のリストにはNodeが格納されており、TreeNodeのリストを取得するためにはTreeNodeで要素を構成する必要がある. */ List<Node> list = m_node.children(); ArrayList<Node> ret = new ArrayList<Node>(list.size()); for(Node n : list){ ret.add(new OnMemoryTreeNode((OnMemoryNode)n,this)); } return ret; } @Override public Map<ByteBuffer, ByteBuffer> getAll() { return m_node.getAll(); } @Override public ByteBuffer get(ByteBuffer _key) { return m_node.get(_key); } @Override public void addAll(List<Node> _children) { } @Override public void add(Node _child) { // TODO Auto-generated method stub } @Override public void remove(Node _child) { // TODO Auto-generated method stub } @Override public void put(ByteBuffer _key, ByteBuffer _value) { // TODO Auto-generated method stub } @Override public void remove(ByteBuffer _key) { } @Override public void putAll(Map<ByteBuffer, ByteBuffer> _map) { // TODO Auto-generated method stub } @Override public TreeNode getParent() { // TODO Auto-generated method stub return null; } @Override public SingleNode getNode() { // TODO Auto-generated method stub return null; } }