Mercurial > hg > Members > nobuyasu > jungle-network
comparison src/main/java/alice/jungle/transaction/NetworkDefaultJungleTree.java @ 105:f9e29a52efd3
Move some files
author | one |
---|---|
date | Tue, 26 Nov 2013 06:43:10 +0900 |
parents | src/alice/jungle/transaction/NetworkDefaultJungleTree.java@47e337fc4086 |
children | 6f104ab4eb81 |
comparison
equal
deleted
inserted
replaced
104:03bf62bb699e | 105:f9e29a52efd3 |
---|---|
1 package alice.jungle.transaction; | |
2 | |
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; | |
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; | |
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; | |
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter; | |
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; | |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; | |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; | |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference; | |
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext; | |
12 | |
13 public class NetworkDefaultJungleTree<T extends TreeNode<T>> implements JungleTree { | |
14 private final AtomicReservableReference<TreeContext<T>> repository; | |
15 private final String uuid; | |
16 private final String treeName; | |
17 private final ChangeListWriter writer; | |
18 private final TreeEditor editor; | |
19 | |
20 public NetworkDefaultJungleTree(String _treeName, TreeContext<T> _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor) | |
21 { | |
22 treeName = _treeName; | |
23 repository = new AtomicReservableReference<TreeContext<T>>(_tc); | |
24 uuid = _uuid; | |
25 writer = _writer; | |
26 editor = _editor; | |
27 } | |
28 | |
29 @Override | |
30 public JungleTreeEditor getTreeEditor() | |
31 { | |
32 TreeContext<T> tc = repository.get(); | |
33 NetworkTransactionManager<T> txManager = new NetworkTransactionManager<T>(treeName, writer,tc,repository,uuid); | |
34 T root = tc.getTreeNode(); | |
35 return new NetworkDefaultJungleTreeEditor<T>(treeName, root,txManager,editor); | |
36 } | |
37 | |
38 @Override | |
39 public JungleTreeEditor getLocalTreeEditor() | |
40 { | |
41 TreeContext<T> tc = repository.get(); | |
42 NetworkTransactionManager<T> txManager = new NetworkTransactionManager<T>(treeName, writer,tc,repository,uuid); | |
43 T root = tc.getTreeNode(); | |
44 return NetworkDefaultJungleTreeEditor.NewLocalJungleTreeEditor(treeName,root,txManager, editor); | |
45 } | |
46 | |
47 @Override | |
48 public Node getRootNode() | |
49 { | |
50 TreeContext<T> tc = repository.get(); | |
51 ChangeSet cs = tc.getChangeSet(); | |
52 return cs.getRoot(); | |
53 } | |
54 | |
55 | |
56 } |