view src/treecms/proto/simple/SimpleLink.java @ 52:1b78f1f3add3

changed API in classs Node
author shoshi
date Fri, 11 Feb 2011 18:17:15 +0900
parents 78e9b96ef04a
children
line wrap: on
line source

package treecms.proto.simple;

import java.util.Iterator;
import java.util.List;
import java.util.Set;

import treecms.proto.api.Link;
import treecms.proto.api.Node;
import treecms.proto.api.NodeID;

public class SimpleLink implements Link
{
	private NodeID m_id;
	private Node m_target;
	
	SimpleLink(NodeID _id,Node _target)
	{
		m_id = _id;
		m_target = _target;
	}
	
	private Node getTip()
	{
		NodeID tip = m_target.getID().getTip();
		return SimpleBrowser.getSingleton().get(tip);
	}
	
	@Override
	public Set<String> getAttributeKeys()
	{
		return getTip().getAttributeKeys();
	}

	@Override
	public Node getNode()
	{
		return getTip();
	}

	@Override
	public void setNode(Node _link)
	{
		m_target = _link;
	}

	@Override
	public Node addChild(Node _child)
	{
		return getTip().addChild(_child);
	}

	@Override
	public Node cloneNode()
	{
		return getTip().cloneNode();
	}

	@Override
	public List<Node> getChildren()
	{
		return getTip().getChildren();
	}

	@Override
	public String getClassName()
	{
		return getTip().getClassName();
	}

	@Override
	public NodeID getID()
	{
		return m_id;
	}

	@Override
	public String getTitle()
	{
		return getTip().getTitle();
	}

	@Override
	public boolean isChild(Node _child)
	{
		return getTip().isChild(_child);
	}

	@Override
	public Iterator<Node> iterator()
	{
		return getTip().iterator();
	}

	@Override
	public boolean removeChild(Node _child)
	{
		return getTip().removeChild(_child);
	}

	@Override
	public void setClassName(String _class)
	{
		getTip().setClassName(_class);
	}

	@Override
	public void setTitle(String _title)
	{
		getTip().setTitle(_title);
	}

	@Override
	public void addChildren(List<Node> _child)
	{
		getTip().addChildren(_child);
	}

	@Override
	public void down(Node _child)
	{
		getTip().down(_child);
	}

	@Override
	public void replace(Node _target, Node _newChild)
	{
		getTip().replace(_target,_newChild);
	}

	@Override
	public void up(Node _child)
	{
		getTip().up(_child);
	}

	@Override
	public void clearChildren()
	{
		getTip().clearChildren();
	}

	@Override
	public Link createLink()
	{
		return getTip().createLink();
	}

	@Override
	public Node createNode()
	{
		return SimpleBrowser.getSingleton().createNode();
	}

	@Override
	public byte[] getAttribute(String _attr)
	{
		return getTip().getAttribute(_attr);
	}

	@Override
	public void setAttribute(String _attr,byte[] _value)
	{
		getTip().setAttribute(_attr,_value);
	}
}