diff src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java @ 14:596a714e6a89

added documents
author Shoshi TAMAKI
date Tue, 18 Dec 2012 16:51:09 +0900
parents a46ff0114a9e
children 35c661de095d
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java	Sat Dec 15 18:48:06 2012 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java	Tue Dec 18 16:51:09 2012 +0900
@@ -1,14 +1,21 @@
 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl;
 
 import java.nio.ByteBuffer;
+
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Tree;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Result;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TraversableTree;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditResult;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeTransformer;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.AppendChildAt;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.DeleteAttribute;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.DeleteChildAt;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.SetAttribute;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.TraverseResult;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Traverser;
 
 public class DefaultTreeEditor implements TreeEditor
 {
@@ -28,30 +35,28 @@
 	}
 	
 	@Override
-	public Result appendChild(NodePath _path,int _pos)
+	public TreeEditResult appendChild(NodePath _path,int _pos)
 	{
-		TraversableTree tree = getTree();
-		Iterable<TraverseResult> result = tree.traverse(_path);
-		return null;
+		return edit(_path,new AppendChildAt(_pos));
 	}
 	
 
 	@Override
-	public Result deleteChild(NodePath _path)
+	public TreeEditResult deleteChild(NodePath _path,int _pos)
 	{
-		return null;
+		return edit(_path,new DeleteChildAt(_pos));
 	}
 
 	@Override
-	public Result putAttribute(NodePath _path, ByteBuffer _key,ByteBuffer _value)
+	public TreeEditResult putAttribute(NodePath _path, String _key,ByteBuffer _value)
 	{
-		return null;
+		return edit(_path,new SetAttribute(_key,_value));
 	}
 
 	@Override
-	public Result deleteAttribute(NodePath _path, ByteBuffer _key,ByteBuffer _value)
+	public TreeEditResult deleteAttribute(NodePath _path, String _key)
 	{
-		return null;
+		return edit(_path,new DeleteAttribute(_key));
 	}
 
 	@Override
@@ -61,8 +66,12 @@
 	}
 
 	@Override
-	public Result edit(NodePath _path, NodeTransformer _transformer)
+	public TreeEditResult edit(NodePath _path, NodeEditor _editor)
 	{
+		Tree t = tip.getTree();
+		Traverser traverser = new DefaultTraverser();
+		Iterable<TraverseResult> result = traverser.traverse(t,_path);
+		
 		return null;
 	}
 }
\ No newline at end of file