view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/PutAttributeIndex.java @ 105:78ef456c98a0

add Query Status but has error
author one
date Fri, 12 Sep 2014 19:47:25 +0900
parents bed3afd5c2e2
children 5b7e45464bb8
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index;

import java.nio.ByteBuffer;

import fj.data.List;
import fj.data.Option;
import fj.data.TreeMap;
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.impl.logger.OperationLog;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.PutAttribute;
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 PutAttributeIndex extends PutAttribute {

	private TreeMap<String,List<TreeNode>> index; 
	
	public PutAttributeIndex(String _key,ByteBuffer _value, TreeMap<String,List<TreeNode>>index)
	{
		super(_key, _value);
		this.index = index;
	}

	@Override
	public Either<Error, Logging> edit(TreeNode _e) {
		Logging logNode = wrap(_e);
		return _edit(logNode);
	}
	
	@Override
	public Logging wrap(TreeNode node) {
		return new LoggingIndexNode(node, index);
	}

	@Override
	public Logging wrap(TreeNode node, OperationLog op) {
		return new LoggingIndexNode(node, op, index);
	}
	
	@Override
	public TreeMap<String,List<TreeNode>> getIndex(){
		return index;
	}
}