Mercurial > hg > Members > shoshi > TreeCMSv1
view src/treecms/proto/simple/SimpleNode.java @ 38:e647bb37b7ad
added treecms.proto.merge
author | suika6039 |
---|---|
date | Thu, 30 Dec 2010 00:50:47 +0900 |
parents | 78e9b96ef04a |
children | 1b78f1f3add3 |
line wrap: on
line source
package treecms.proto.simple; import java.util.Iterator; import java.util.Collections; import java.util.List; import java.util.LinkedList; import java.util.Map; import java.util.Set; import treecms.proto.api.Link; import treecms.proto.api.Node; import treecms.proto.api.NodeID; import java.util.Hashtable; class SimpleNode implements Node { private LinkedList<Node> m_children; private NodeID m_id; private String m_title,m_class; private Map<String,String> m_attrs; SimpleNode(NodeID _id) { m_children = new LinkedList<Node>(); m_id = _id; m_title = ""; m_class = ""; m_attrs = new Hashtable<String,String>(); } @Override public Set<String> getAttributeKeys() { return m_attrs.keySet(); } @Override public List<Node> getChildren() { return Collections.unmodifiableList(m_children); } @Override public boolean isChild(Node _child) { return m_children.contains(_child); } @Override public Node addChild(Node _child) { if(!m_children.contains(_child)){ m_children.add(_child); return _child; } return null; } @Override public boolean removeChild(Node _child) { return m_children.remove(_child); } @Override public Iterator<Node> iterator() { return m_children.iterator(); } @Override public NodeID getID() { return this.m_id; } @Override public void addChildren(List<Node> _children) { if(!m_children.containsAll(_children)){ m_children.addAll(_children); } } @Override public Node cloneNode() { return SimpleBrowser.getSingleton().cloneNode(this); } @Override public String getTitle() { return m_title; } @Override public void setTitle(String _title) { m_title = _title; } @Override public String getClassName() { return m_class; } @Override public void setClassName(String _class) { m_class = _class; } @Override public void down(Node _child) { int index = m_children.indexOf(_child); if(index != -1 && index < m_children.size()-1){ m_children.remove(_child); m_children.add(index+1,_child); } } @Override public void replace(Node _target, Node _newChild) { int index = m_children.indexOf(_target); if(index != -1){ m_children.remove(_target); m_children.add(index,_newChild); } } @Override public void up(Node _child) { int index = m_children.indexOf(_child); if(index > 0){ m_children.remove(_child); m_children.add(index-1,_child); } } public String toString() { return getTitle()+"["+getID().toString()+"]"; } @Override public void clearChildren() { m_children.clear(); } @Override public String getAttribute(String _attr) { return m_attrs.get(_attr); } @Override public void setAttribute(String _attr, String _value) { m_attrs.put(_attr,_value); } @Override public Node createNode() { return SimpleBrowser.getSingleton().createNode(); } @Override public Link createLink() { return SimpleBrowser.getSingleton().createLink(this); } }