Mercurial > hg > Members > shoshi > TreeCMSv2
diff src/treecms/memory/OnMemoryForest.java @ 6:12604eb6b615
added javadoc
author | shoshi |
---|---|
date | Mon, 14 Mar 2011 23:24:38 +0900 |
parents | f5ed85be5640 |
children | fc19e38b669b |
line wrap: on
line diff
--- a/src/treecms/memory/OnMemoryForest.java Tue Mar 01 01:29:59 2011 +0900 +++ b/src/treecms/memory/OnMemoryForest.java Mon Mar 14 23:24:38 2011 +0900 @@ -1,22 +1,24 @@ package treecms.memory; +import java.util.Map; import java.util.Random; - import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import treecms.api.Forest; import treecms.api.Node; import treecms.api.NodeData; import treecms.api.NodeID; -import treecms.tree.id.RandomNodeID; +import treecms.tree.id.AbstractRandomNodeID; public class OnMemoryForest implements Forest { - ConcurrentHashMap<NodeID,OnMemoryNode> m_table; + Map<NodeID,OnMemoryNode> m_table; + Map<String,OnMemoryNode> m_tipTable; public OnMemoryForest() { m_table = new ConcurrentHashMap<NodeID,OnMemoryNode>(); + m_tipTable = new ConcurrentHashMap<String,OnMemoryNode>(); } public OnMemoryNode createNode(NodeID _id,NodeData _newData) @@ -24,13 +26,16 @@ NodeID newID = (_id != null) ? _id : createID(); NodeData newData = (_newData != null) ? _newData : new NodeData(); OnMemoryNode newNode = new OnMemoryNode(this,newID,newData); + m_table.put(newID,newNode); + m_tipTable.put(newID.getUUID(),newNode); + return newNode; } NodeID createID() { - return new RandomNodeIDImpl(null); + return new RandomNodeID(null); } @Override @@ -45,12 +50,12 @@ return createNode(null,null); } - class RandomNodeIDImpl extends RandomNodeID + class RandomNodeID extends AbstractRandomNodeID { String m_uuid; long m_version; - public RandomNodeIDImpl(String _uuid) + public RandomNodeID(String _uuid) { if(_uuid != null){ m_uuid = _uuid; @@ -63,13 +68,13 @@ @Override public NodeID create() { - return new RandomNodeIDImpl(null); + return new RandomNodeID(null); } @Override public NodeID update() { - return new RandomNodeIDImpl(m_uuid); + return new RandomNodeID(m_uuid); } @Override