diff src/treecms/proto/simple/SimpleLink.java @ 31:ff4d4704e5d7

modified Node API delete setLinkedNode,getLinkedNode added Link API setNode,getNode added SimpleLink and deleted SimpleLinkedNode Test code is SimpleLinkTest2 added document/figure/linkednode1.graffle
author shoshi
date Wed, 17 Nov 2010 18:28:21 +0900
parents
children c0a0fa870e6e
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/treecms/proto/simple/SimpleLink.java	Wed Nov 17 18:28:21 2010 +0900
@@ -0,0 +1,127 @@
+package treecms.proto.simple;
+
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import treecms.proto.api.Link;
+import treecms.proto.api.Node;
+import treecms.proto.api.NodeID;
+import treecms.proto.id.IncrementalNodeID;
+
+public class SimpleLink implements Link
+{
+	private NodeID m_id;
+	private Node m_target;
+	private LinkedList<Node> m_children;
+	
+	public SimpleLink(Node _target)
+	{
+		m_id = new IncrementalNodeID();
+		m_target = _target;
+		m_children = new LinkedList<Node>();
+	}
+
+	@Override
+	public Node getNode()
+	{
+		return m_target;
+	}
+
+	@Override
+	public void setNode(Node link)
+	{
+		m_target = link;
+	}
+
+	@Override
+	public Node addChild(Node child)
+	{
+		return child;
+	}
+
+	@Override
+	public Node cloneNode()
+	{
+		return new SimpleLink(m_target);
+	}
+
+	@Override
+	public List<Node> getChildren()
+	{
+		return Collections.unmodifiableList(m_children);
+	}
+
+	@Override
+	public String getClassName()
+	{
+		return m_target.getClassName();
+	}
+
+	@Override
+	public NodeID getID()
+	{
+		return m_id;
+	}
+
+	@Override
+	public String getTitle()
+	{
+		return m_target.getTitle();
+	}
+
+	@Override
+	public boolean isChild(Node child)
+	{
+		return false;
+	}
+
+	@Override
+	public Iterator<Node> iterator()
+	{
+		return Collections.unmodifiableList(m_children).iterator();
+	}
+
+	@Override
+	public boolean removeChild(Node child)
+	{
+		return false;
+	}
+
+	@Override
+	public void setClassName(String _class)
+	{
+		m_target.setClassName(_class);
+	}
+
+	@Override
+	public void setTitle(String _title)
+	{
+		m_target.setTitle(_title);
+	}
+
+	@Override
+	public void addChildren(List<Node> child)
+	{
+		return;
+	}
+
+	@Override
+	public void down(Node child)
+	{
+		return;
+	}
+
+	@Override
+	public void replace(Node target, Node newChild)
+	{
+		return;
+	}
+
+	@Override
+	public void up(Node child)
+	{
+		return;
+	}
+}