view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/JungleTreeEditor.java @ 117:74723b26ad96

add IndexJungleTreeEditr and remove DefaultJungleIndexTreeEditor
author one
date Tue, 30 Sep 2014 13:15:22 +0900
parents f9a0e7069811
children 371b6ddb78f2
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.shoshi.jungle;

import java.nio.ByteBuffer;

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.LoggingNode;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;

public interface JungleTreeEditor
{
	public TreeNode getRoot();
	
	public Either<Error,JungleTreeEditor> addNewChildAt(NodePath path,int pos);
	public Either<Error,JungleTreeEditor> deleteChildAt(NodePath path,int pos);
	public Either<Error,JungleTreeEditor> putAttribute(NodePath path,String key,ByteBuffer value);
	public Either<Error,JungleTreeEditor> deleteAttribute(NodePath path,String key);
	public Either<Error,JungleTreeEditor> edit(NodePath path,NodeEditor editor);
	
	public Either<Error,JungleTreeEditor> success();
	public String getID();
	public String getRevision();
}