Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/logger/LoggingNodeHook.java @ 86:fb1dc448ac8c
delete <T extends TreeNode>
author | one |
---|---|
date | Wed, 03 Sep 2014 23:44:23 +0900 |
parents | 715a9fbf02fc |
children | 4c6b915302a8 14ce7a0dedca |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor; 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 LoggingNodeHook implements NodeEditor { private OperationLog log; private final NodeEditor editor; public LoggingNodeHook(NodeEditor _editor) { log = null; editor = _editor; } @Override public Either<Error,TreeNode> edit(TreeNode _e) { //LoggingNode<T> loggingNode = new LoggingNode<T>(_e); Either<Error,TreeNode> either = editor.edit(_e); if(either.isA()){ return DefaultEither.newA(either.a()); } log = editor.getLog(); TreeNode newLoggingNode = either.b(); //T newNode = newLoggingNode.getWrap(); //log = newLoggingNode.getOperationLog(); return DefaultEither.newB(newLoggingNode); } public OperationLog getLog() { return log; } }