view src/treecms/proto/simple/SimpleBrowser.java @ 36:9663c816e370

commit.
author suika6039
date Mon, 27 Dec 2010 21:08:43 +0900
parents
children 78e9b96ef04a
line wrap: on
line source

package treecms.proto.simple;

import java.util.Hashtable;

import treecms.proto.api.*;
import treecms.proto.id.IncrementalNodeID;

public class SimpleBrowser implements Browser
{
	private static final SimpleBrowser m_instance = new SimpleBrowser();
	private Hashtable<NodeID,Node> m_table;
	
	private SimpleNode m_root;
	
	private SimpleBrowser()
	{
		m_table = new Hashtable<NodeID,Node>();
		m_root = createNode();
		
		m_table.put(m_root.getID(),m_root);
	}
	
	public static SimpleBrowser getSingleton()
	{
		return m_instance;
	}
	
	public void put(NodeID _id,Node _node)
	{
		m_table.put(_id,_node);
	}
	
	public Node get(NodeID _id)
	{
		return m_table.get(_id);
	}
	
	public SimpleNode createNode()
	{
		SimpleNode node = new SimpleNode(new IncrementalNodeID());
		return node;
	}
	
	public SimpleLink createLink(Node _target)
	{
		SimpleLink link = new SimpleLink(_target);
		return link;
	}

	@Override
	public Node useContents()
	{
		NodeID tip = m_root.getID().getTip();
		return m_table.get(tip);
	}
}