Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/AppendChildAt.java @ 111:5df5505e1c1e
change Index type
author | one |
---|---|
date | Mon, 15 Sep 2014 14:07:06 +0900 |
parents | cf17350a2415 |
children | 74723b26ad96 |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer; import fj.data.List; import fj.data.TreeMap; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; 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.LoggingNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.AppendChildAtOperation; 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; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair; import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.Logging; public class AppendChildAt implements NodeEditor { private final int pos; public AppendChildAt(int _pos) { pos = _pos; } public Either<Error, Logging> _edit(Logging _e) { Either<Error,Logging> either = _e.getChildren().addNewChildAt(pos); if(either.isA()){ // error return either; } return DefaultEither.newB(either.b()); } @Override public Either<Error, Logging> edit(TreeNode _e) { Logging logNode = wrap(_e); return _edit(logNode); } public Logging wrap(TreeNode node) { return new LoggingNode(node); } @Override public Logging wrap(TreeNode node, OperationLog op) { return new LoggingNode(node, op); } @Override public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() { // TODO Auto-generated method stub return null; } }