Mercurial > hg > Members > shoshi > TreeCMS > TreeCMSPrototype1
view src/treecms/proto/simple/SimpleBrowser.java @ 44:cc66b6933d44
removed warnings
author | shoshi |
---|---|
date | Fri, 21 Jan 2011 16:35:57 +0900 |
parents | 7392f7ed45d2 |
children |
line wrap: on
line source
package treecms.proto.simple; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import treecms.proto.api.*; public class SimpleBrowser implements Browser { public static void main(String _args[]) { SimpleBrowser browser = SimpleBrowser.getSingleton(); Node node = browser.useContents(); Node cloned = node.cloneNode(); System.out.println(cloned.getID().toString()); System.out.println(browser.useContents().getID().toString()); } private static final SimpleBrowser m_instance = new SimpleBrowser(); private Map<String,Node> m_table; private SimpleNode m_root; private SimpleBrowser() { m_table = new ConcurrentHashMap<String,Node>(); m_root = createNode(); } public static SimpleBrowser getSingleton() { return m_instance; } public void put(NodeID _id,Node _node) { m_table.put(_id.toString(),_node); } public Node get(NodeID _id) { return m_table.get(_id.toString()); } public SimpleNode createNode() { SimpleNode node = new SimpleNode(new SimpleDecNodeID()); m_table.put(node.getID().toString(),node); return node; } public SimpleNode cloneNode(SimpleNode _target) { SimpleNode cloned = new SimpleNode(_target.getID().update()); cloned.setClassName(_target.getClassName()); cloned.setTitle(_target.getTitle()); for(String _key : _target.getAttributeKeys()){ cloned.setAttribute(_key,_target.getAttribute(_key)); } cloned.addChildren(_target.getChildren()); m_table.put(cloned.getID().toString(),cloned); return cloned; } public SimpleLink createLink(Node _target) { SimpleLink link = new SimpleLink(new SimpleDecNodeID(),_target); m_table.put(link.getID().toString(),link); return link; } @Override public Node useContents() { NodeID tip = m_root.getID().getTip(); return m_table.get(tip.toString()); } }