Mercurial > hg > Members > tatsuki > bench > jungle-core
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