Mercurial > hg > Members > shoshi > TreeCMSv2
view src/treecms/memory/OnMemoryMonotonicTree.java @ 23:77a894c0b919
commit
author | shoshi |
---|---|
date | Thu, 09 Jun 2011 01:03:48 +0900 |
parents | fa784faafc78 |
children | c1e7ec6b3d44 |
line wrap: on
line source
package treecms.memory; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import treecms.api.MonotonicTree; import treecms.api.MonotonicTreeNode; import treecms.api.Node; import treecms.api.NodeID; import treecms.api.NodeTable; import treecms.tree.util.NodeData; import treecms.tree.util.NodeTableImpl; public class OnMemoryMonotonicTree implements MonotonicTree { private final OnMemoryMonotonicTree m_tree; private final NodeTable m_table; private final OnMemoryMonotonicTreeNode m_root; private OnMemoryMonotonicTree(OnMemoryNode _root,OnMemoryMonotonicTree _tree) { m_tree = _tree; m_table = new NodeTableImpl(); NodeID id = _root.getID(); String fid = id.getFamilyID(); m_root = new OnMemoryMonotonicTreeNode(fid,null,m_table); } public static OnMemoryMonotonicTree createInstance(OnMemoryNode _root,OnMemoryMonotonicTree _tree) { OnMemoryMonotonicTree tree = new OnMemoryMonotonicTree(_root,_tree); tree.m_root = new OnMemoryMonotonicTreeNode(_root.getID().getFamilyID(),null,tree); return tree; } public OnMemoryNode get(String _fid) { return m_members.get(_fid); } public OnMemoryNode createNode(NodeID _id,NodeData<Node> _data) { OnMemoryNode newNode = new OnMemoryNode(_id,_data); m_members.put(_id.getFamilyID(),newNode); return newNode; } @Override public boolean commit(boolean _force) { if(m_tree == null){ return true; } return true; } @Override public boolean pull() { return true; } @Override public boolean check() { if(m_tree != null){ } return m_tree.getRoot().getNode().equals(m_root.getNode()); } @Override public void merge() { } @Override public MonotonicTreeNode getRoot() { return m_root; } }