comparison src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeContext.java @ 183:066d9c5758dc

change TreeContext
author tatsuki
date Mon, 23 Mar 2015 15:44:28 +0900
parents 817febd9c69b
children d2b710337eaa
comparison
equal deleted inserted replaced
182:67d4c68578cf 183:066d9c5758dc
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction; 1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction;
2 2
3 import fj.data.List;
3 import fj.data.TreeMap; 4 import fj.data.TreeMap;
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; 5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeContext; 6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeContext;
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; 7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; 8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser;
8 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.ParentIndex; 10 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.ParentIndex;
9 11
10 public class DefaultTreeContext implements TreeContext 12 public class DefaultTreeContext implements TreeContext {
11 { 13 private final TreeNode root;
12 private final TreeNode root; 14 private final TreeContext previous;
13 private final TreeContext previous; 15 private final ChangeList changeList;
14 private final ChangeList changeList; 16 private final String uuid;
15 private final String uuid; 17 private final String treeName;
16 private final String treeName; 18 private final long revision;
17 private final long revision; 19 private final InterfaceTraverser traverser;
18 private TreeMap<String, TreeMap<String, TreeMap<TreeNode, TreeNode>>> indexList;
19 private TreeMap<TreeNode, TreeNode> parentIndex;
20 20
21 public DefaultTreeContext(TreeNode _node,TreeContext _prev,ChangeList _log,String _uuid, String _treeName, long _revision, TreeMap<String, TreeMap<String, TreeMap<TreeNode, TreeNode>>> indexList, 21 public DefaultTreeContext(TreeNode _node, TreeContext _prev, ChangeList _log, String _uuid, String _treeName, long _revision, InterfaceTraverser traverser) {
22 TreeMap<TreeNode, TreeNode> parentIndex) 22 this.root = _node;
23 { 23 this.previous = _prev;
24 this.root = _node; 24 this.changeList = _log;
25 this.previous = _prev; 25 this.uuid = _uuid;
26 this.changeList = _log; 26 this.treeName = _treeName;
27 this.uuid = _uuid; 27 this.revision = _revision;
28 this.treeName = _treeName; 28 this.traverser = traverser;
29 this.revision = _revision; 29 }
30 this.indexList = indexList;
31 this.parentIndex = parentIndex;
32 }
33 30
34 31
35 @Override 32 @Override
36 public TreeNode getRoot() 33 public TreeNode getRoot() {
37 { 34 return root;
38 return root;
39 }
40
41 @Override
42 public TreeContext prev()
43 {
44 return previous;
45 }
46
47 @Override
48 public ChangeList getChangeList()
49 {
50 return changeList;
51 }
52
53 @Override
54 public String uuid()
55 {
56 return uuid;
57 }
58
59 @Override
60 public String getTreeName()
61 {
62 return treeName;
63 }
64
65 @Override
66 public long revision()
67 {
68 return revision;
69 }
70
71 @Override
72 public Iterable<TreeOperation> getOperations()
73 {
74 return changeList;
75 }
76
77 @Override
78 public TreeMap<String, TreeMap<String, TreeMap<TreeNode, TreeNode>>> getIndex() {
79 return indexList;
80 }
81
82
83 @Override
84 public ParentIndex getParentIndex() {
85 return new ParentIndex(parentIndex);
86 }
87
88 @Override
89 public void setIndex(TreeMap<String, TreeMap<String, TreeMap<TreeNode, TreeNode>>> indexList) {
90 this.indexList = indexList;
91 } 35 }
92 36
93 @Override 37 @Override
94 public void setParentIndex(ParentIndex parentIndex) { 38 public TreeContext prev() {
95 this.parentIndex = parentIndex.getParentIndex(); 39 return previous;
96 } 40 }
97 41
42 @Override
43 public ChangeList getChangeList() {
44 return changeList;
45 }
46
47 @Override
48 public String uuid() {
49 return uuid;
50 }
51
52 @Override
53 public String getTreeName() {
54 return treeName;
55 }
56
57 @Override
58 public long revision() {
59 return revision;
60 }
61
62 @Override
63 public Iterable<TreeOperation> getOperations() {
64 return changeList;
65 }
66
67 @Override
68 public TreeMap<String, TreeMap<String, List<TreeNode>>> getIndex() {
69 return traverser.getIndex();
70 }
71
72 @Override
73 public ParentIndex getParentIndex() {
74 return traverser.getParentIndex();
75 }
76
77 @Override
78 public InterfaceTraverser getTraverser() {
79 return traverser;
80 }
98 } 81 }