diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/PutAttributeIndex.java @ 103:bed3afd5c2e2

add Index but Not use
author one
date Fri, 12 Sep 2014 14:37:09 +0900
parents
children 78ef456c98a0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/PutAttributeIndex.java	Fri Sep 12 14:37:09 2014 +0900
@@ -0,0 +1,49 @@
+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 final String key;
+	private final ByteBuffer value;
+	private TreeMap<String,List<TreeNode>> index; 
+	public PutAttributeIndex(String _key,ByteBuffer _value, TreeMap<String,List<TreeNode>>index)
+	{
+		super(_key, _value);
+		key = _key;
+		value = _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;
+	}
+}