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