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