diff src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungleTree.java @ 100:9a7b7af838e0

add index TreeNodeEditor but node use
author one
date Thu, 11 Sep 2014 03:10:03 +0900
parents fb1dc448ac8c
children c297f0015d9e
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungleTree.java	Wed Sep 10 18:54:52 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungleTree.java	Thu Sep 11 03:10:03 2014 +0900
@@ -1,5 +1,7 @@
 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle;
 
+import fj.data.HashMap;
+import fj.data.TreeMap;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
@@ -8,6 +10,8 @@
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultJungleTreeEditor;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTransactionManager;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;
 
 
 public class DefaultJungleTree implements JungleTree
@@ -16,13 +20,14 @@
 	private final String uuid;
 	private final ChangeListWriter writer;
 	private final TreeEditor editor;
-	
-	public DefaultJungleTree(TreeContext _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor)
+	Pair<TreeMap<String,TreeNode>,TreeMap<String,String>> index;
+	public DefaultJungleTree(TreeContext _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor, Pair<TreeMap<String,TreeNode>,TreeMap<String,String>> index)
 	{
-		repository = new AtomicReservableReference<TreeContext>(_tc);
-		uuid = _uuid;
-		writer = _writer;
-		editor = _editor;
+		this.repository = new AtomicReservableReference<TreeContext>(_tc);
+		this.uuid = _uuid;
+		this.writer = _writer;
+		this.editor = _editor;
+		this.index = index;
 	}
 
 	@Override
@@ -31,7 +36,7 @@
 		TreeContext tc = repository.get();
 		DefaultTransactionManager txManager = new DefaultTransactionManager(writer,tc,repository,uuid);
 		TreeNode root = tc.getTreeNode();
-		return new DefaultJungleTreeEditor(root,txManager,editor);
+		return new DefaultJungleTreeEditor(root,txManager,editor, index);
 	}
 
 	@Override
@@ -47,4 +52,9 @@
 		ChangeSet cs = tc.getChangeSet();
 		return cs.getRoot();
 	}
+
+	@Override
+	public InterfaceTraverser getTraverser() {
+		return new InterfaceTraverser(getRootNode());
+	}
 }