view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/DeleteChildAt.java @ 96:bd82c20a6da0

LoggingNode repair
author one
date Sat, 06 Sep 2014 15:22:46 +0900
parents ef68358ed0e8
children bed3afd5c2e2
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.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.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;
	public DeleteChildAt(int _pos)
	{
		pos = _pos;
	}

	@Override
	public Either<Error,LoggingNode> edit(LoggingNode _e)
	{
		Either<Error,LoggingNode> either = _e.getChildren().deleteChildAt(pos);
		if(either.isA()){
			// error
			return either;
		}
		return DefaultEither.newB(either.b());
	}
}