view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/DeleteChildAt.java @ 81:715a9fbf02fc

remove <T> many source
author one
date Sun, 31 Aug 2014 07:46:30 +0900
parents b4f145174970
children fb1dc448ac8c
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.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 <T extends TreeNode> Either<Error,TreeNode> edit(T _e)
	{
		return _e.getChildren().deleteChildAt(pos);
	}

	@Override
	public OperationLog getLog() {
		OperationLog op = new DefaultOperationLog();
		NodeOperation deleteChildAt = new DeleteChildAtOperation(pos);
		return op.add(deleteChildAt);
	}
}