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;
	}

}