Mercurial > hg > Members > shoshi > TreeCMSv2
diff src/treecms/memory/OnMemoryNode.java @ 2:4a5ee88f02cf
added OnMemoryForest
author | shoshi |
---|---|
date | Wed, 16 Feb 2011 21:08:32 +0900 |
parents | |
children | f5ed85be5640 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/memory/OnMemoryNode.java Wed Feb 16 21:08:32 2011 +0900 @@ -0,0 +1,94 @@ +package treecms.memory; + +import java.util.LinkedList; +import java.util.List; +import treecms.api.Forest; +import treecms.api.Node; +import treecms.api.NodeData; +import treecms.api.NodeID; + +public class OnMemoryNode implements Node +{ + NodeID m_id; + OnMemoryForest m_forest; + NodeData m_data; + + public OnMemoryNode(OnMemoryForest _forest,NodeID _id) + { + m_id = _id; + m_forest = _forest; + m_data = new NodeDataImpl(); + } + + @Override + public Forest getForest() + { + return m_forest; + } + + @Override + public NodeID getID() + { + return m_id; + } + + @Override + public NodeData getData() + { + return m_data; + } + + @Override + public NodeData newData() + { + return new NodeDataImpl(); + } + + class NodeDataImpl implements NodeData + { + List<Node> m_children; + String m_value; + + public NodeDataImpl() + { + m_children = new LinkedList<Node>(); + } + + @Override + public List<Node> list() + { + return m_children; + } + + @Override + public String get() + { + return m_value; + } + + @Override + public void set(String _str) + { + m_value = _str; + } + + @Override + public void add(List<Node> _child) + { + m_children.addAll(_child); + } + + @Override + public void del(List<Node> _child) + { + m_children.removeAll(_child); + } + + @Override + public void clear() + { + m_children.clear(); + } + + } +}