Mercurial > hg > Members > shoshi > jungle > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/trasnformer/MoveChild.java @ 249:803ab4479b7e Implementation_of_communication
add filtering key iterator
author | tatsuki |
---|---|
date | Mon, 07 Nov 2016 03:40:57 +0900 |
parents | src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/trasnformer/DeleteChildAt.java@e5275a599048 |
children | cac88cf813f1 |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.jungle.store.trasnformer; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.logger.LoggingNode; import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.logger.OperationLog; import jp.ac.u_ryukyu.ie.cr.jungle.util.DefaultEither; import jp.ac.u_ryukyu.ie.cr.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.jungle.util.Error; public class MoveChild implements NodeEditor { private final String move; private final int childNum; public MoveChild(String move, int childNum) { this.childNum = childNum; this.move = move; } public Either<Error,LoggingNode> _edit(LoggingNode logNode) { Either<Error,LoggingNode> either = logNode.getChildren().moveChild(move, childNum); if(either.isA()){ // error return either; } return DefaultEither.newB(either.b()); } @Override public Either<Error, LoggingNode> edit(TreeNode _e) { LoggingNode logNode = wrap(_e); return _edit(logNode); } public LoggingNode wrap(TreeNode node) { return new LoggingNode(node); } @Override public LoggingNode wrap(TreeNode node, OperationLog op) { return new LoggingNode(node, op); } }