Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/DeleteChildAt.java @ 93:ef68358ed0e8
Merge with 7058e85875a59d1951cc5eeaa049e4788ea96deb
author | one |
---|---|
date | Sat, 06 Sep 2014 10:18:47 +0900 |
parents | 14ce7a0dedca c5095a354dfc |
children | bd82c20a6da0 |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultOperationLog; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog; 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.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 DeleteChildAt implements NodeEditor { private final int pos; private OperationLog log; public DeleteChildAt(int _pos) { pos = _pos; log = new DefaultOperationLog(); } @Override public Either<Error,TreeNode> edit(TreeNode _e) { NodeOperation deleteChildOperation = new DeleteChildAtOperation(pos); Either<Error,TreeNode> either = deleteChildOperation.invoke(_e); if(either.isA()){ // error return either; } log = log.add(deleteChildOperation); return DefaultEither.newB(either.b()); } @Override public OperationLog getLog() { return log; } }