diff src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/logger/LoggingChildren.java @ 92:14ce7a0dedca

Logging Node and Editor
author one
date Sat, 06 Sep 2014 05:03:10 +0900
parents 540a27dde42f
children bed3afd5c2e2
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/logger/LoggingChildren.java	Wed Sep 03 23:44:23 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/logger/LoggingChildren.java	Sat Sep 06 05:03:10 2014 +0900
@@ -1,78 +1,75 @@
-/*package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger;
+package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger;
 
 import java.util.Iterator;
+
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.AppendChildAtOperation;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteChildAtOperation;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableChildren;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
 
-public class LoggingChildren<T extends EditableNode<T>> implements EditableChildren<LoggingNode<T>>
+public class LoggingChildren //implements EditableChildren
 {
-	private final T wrap;
+	private final TreeNode wrap;
 	private final OperationLog log;
 	
-	public LoggingChildren(T _wrap,OperationLog _log)
+	public LoggingChildren(TreeNode _wrap,OperationLog _log)
 	{
 		wrap = _wrap;
 		log = _log;
 	}
 
-	@Override
 	public int size()
 	{
-		EditableChildren<T> children = wrap.getChildren();
+		Children children = wrap.getChildren();
 		return children.size();
 	}
 	
+	/*
 	@Override
-	public Iterator<LoggingNode<T>> iterator()
+	public Iterator<LoggingNode> iterator()
 	{
-		EditableChildren<T> children = wrap.getChildren();
-		return (Iterator<LoggingNode<T>>) children.iterator();
-	}
+		LoggingChildren children = wrap.getChildren();
+		return children.iterator();
+	}*/
 	
-	public Either<Error,LoggingNode<T>> edit(NodeOperation _op)
+	public Either<Error,LoggingNode> edit(NodeOperation _op)
 	{
-		Either<Error,T> either = _op.invoke(wrap);
+		Either<Error,TreeNode> either = _op.invoke(wrap);
 		if(either.isA()){
 			return DefaultEither.newA(either.a());
 		}
 		
-		T newWrap = either.b();
+		TreeNode newWrap = either.b();
 		OperationLog newLog = log.add(_op);
-		LoggingNode<T> newLoggingNode = new LoggingNode<T>(newWrap,newLog);
+		LoggingNode newLoggingNode = new LoggingNode(newWrap,newLog);
 		return DefaultEither.newB(newLoggingNode);
 	}
 	
-	@Override
-	public Either<Error,LoggingNode<T>> addNewChildAt(final int _pos)
+	public Either<Error,LoggingNode> addNewChildAt(final int _pos)
 	{
 		NodeOperation addNewChildAt = new AppendChildAtOperation(_pos);
 		return edit(addNewChildAt);
 	}
 
-	@Override
-	public Either<Error,LoggingNode<T>> deleteChildAt(final int _pos)
+	public Either<Error,LoggingNode> deleteChildAt(final int _pos)
 	{
 		NodeOperation deleteChildAt = new DeleteChildAtOperation(_pos);
 		return edit(deleteChildAt);
 	}
 
-	@Override
-	public Either<Error,LoggingNode<T>> at(int _pos)
+	public Either<Error,LoggingNode> at(int _pos)
 	{
-		EditableChildren<T> children = wrap.getChildren();
-		Either<Error,T> either = children.at(_pos);
+		Children children = wrap.getChildren();
+		Either<Error,TreeNode> either = children.at(_pos);
 		if(either.isA()){
 			return DefaultEither.newA(either.a());
 		}
 		
-		T node = either.b();
-		return DefaultEither.newB(new LoggingNode<T>(node));
+		TreeNode node = either.b();
+		return DefaultEither.newB(new LoggingNode(node));
 	}
 }
-*/
\ No newline at end of file