103
|
1 package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index;
|
|
2
|
|
3 import java.nio.ByteBuffer;
|
|
4
|
|
5 import fj.data.List;
|
|
6 import fj.data.Option;
|
|
7 import fj.data.TreeMap;
|
110
|
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
|
103
|
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
|
|
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.LoggingNode;
|
|
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog;
|
|
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.PutAttribute;
|
|
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
|
|
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
|
|
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
|
110
|
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;
|
103
|
17
|
|
18 public class PutAttributeIndex extends PutAttribute {
|
|
19
|
107
|
20 private TreeMap<String,TreeMap<String, List<TreeNode>>> index;
|
105
|
21
|
107
|
22 public PutAttributeIndex(String _key,ByteBuffer _value, TreeMap<String,TreeMap<String, List<TreeNode>>> index)
|
103
|
23 {
|
|
24 super(_key, _value);
|
|
25 this.index = index;
|
|
26 }
|
|
27
|
|
28 @Override
|
|
29 public Either<Error, Logging> edit(TreeNode _e) {
|
|
30 Logging logNode = wrap(_e);
|
|
31 return _edit(logNode);
|
|
32 }
|
|
33
|
|
34 @Override
|
|
35 public Logging wrap(TreeNode node) {
|
|
36 return new LoggingIndexNode(node, index);
|
|
37 }
|
|
38
|
|
39 @Override
|
|
40 public Logging wrap(TreeNode node, OperationLog op) {
|
|
41 return new LoggingIndexNode(node, op, index);
|
|
42 }
|
|
43
|
|
44 @Override
|
107
|
45 public TreeMap<String,TreeMap<String, List<TreeNode>>> getIndex(){
|
103
|
46 return index;
|
|
47 }
|
|
48 }
|