Mercurial > hg > Members > shoshi > TreeCMSv1
view src/treecms/proto/simple/SimpleNode.java @ 30:8d733b98c5de
added Node API
setLinkedNode,getLinkedNode for create link to other node.
but not implemented yet.
author | Shoshi TAMAKI |
---|---|
date | Wed, 10 Nov 2010 00:36:51 +0900 |
parents | 64359341c04a |
children | ff4d4704e5d7 |
line wrap: on
line source
package treecms.proto.simple; import java.util.Iterator; import java.util.Collections; import java.util.LinkedList; import java.util.List; import treecms.proto.api.Node; import treecms.proto.api.NodeID; import treecms.proto.id.IncrementalNodeID; public class SimpleNode implements Node { private LinkedList<Node> m_children; private NodeID m_id; private String m_title,m_class; public SimpleNode() { m_children = new LinkedList<Node>(); m_id = new IncrementalNodeID(); m_title = ""; m_class = ""; } private SimpleNode(NodeID _id) { m_children = new LinkedList<Node>(); m_id = _id; m_title = ""; m_class = ""; } @Override public List<Node> getChildren() { // TODO Auto-generated method stub // return unmodifiable list<node> return Collections.unmodifiableList(m_children); } @Override public boolean isChild(Node _child) { // TODO Auto-generated method stub return m_children.contains(_child); } @Override public Node addChild(Node _child) { // TODO Auto-generated method stub if(m_children.contains(_child)){ throw new IllegalArgumentException("the node already contains "+_child.getTitle()+":"+_child.getID()); } m_children.add(_child); return _child; } @Override public boolean removeChild(Node _child) { // TODO Auto-generated method stub return m_children.remove(_child); } @Override public void up(Node _child) { // TODO Auto-generated method stub int curPos = m_children.indexOf(_child); if(curPos - 1 > 0){ m_children.add(curPos - 1,m_children.remove(curPos)); } } @Override public void down(Node _child) { // TODO Auto-generated method stub int curPos = m_children.indexOf(_child); if(curPos + 1 < m_children.size()){ m_children.add(curPos + 1,m_children.remove(curPos)); } } @Override public Iterator<Node> iterator() { // TODO Auto-generated method stub // return unmodifiable iterator return Collections.unmodifiableList(m_children).iterator(); } @Override public NodeID getID() { return this.m_id; } public void addChildren(List<Node> _children) { // TODO Auto-generated method stub this.m_children.addAll(_children); } @Override public Node cloneNode() { // TODO Auto-generated method stub SimpleNode clone = new SimpleNode(m_id.update()); clone.setTitle(getTitle()); clone.setClassName(getClassName()); clone.addChildren(m_children); return clone; } @Override public String getTitle() { // TODO Auto-generated method stub return m_title; } @Override public void setTitle(String _title) { // TODO Auto-generated method stub m_title = _title; } @Override public String getClassName() { // TODO Auto-generated method stub return m_class; } @Override public void setClassName(String _class) { // TODO Auto-generated method stub m_class = _class; } @Override public Node getLinkedNode() { // TODO Auto-generated method stub return null; } @Override public void setLinkedNode(Node node) { // TODO Auto-generated method stub } }