31
|
1 package alice.jungle.operations;
|
1
|
2
|
|
3 import java.util.Iterator;
|
|
4 import java.util.LinkedList;
|
|
5
|
|
6 import org.msgpack.annotation.Message;
|
|
7
|
|
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
|
|
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
|
|
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
|
|
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
|
|
12
|
|
13 @Message
|
|
14 public class NetworkTreeOperationLog implements TreeOperationLog
|
|
15 {
|
83
|
16 public LinkedList<NetworkTreeOperation> list;
|
2
|
17 public int size;
|
84
|
18 String treeName;
|
1
|
19
|
|
20 public NetworkTreeOperationLog() {
|
83
|
21 list = new LinkedList<NetworkTreeOperation>();
|
1
|
22 size = 0;
|
84
|
23 treeName = "";
|
|
24 }
|
|
25
|
|
26 public NetworkTreeOperationLog(String _treeName, Iterable<TreeOperation> _list)
|
|
27 {
|
|
28 treeName = _treeName;
|
|
29 list = new LinkedList<NetworkTreeOperation>();
|
|
30 for(TreeOperation op: _list) {
|
|
31 NetworkTreeOperation nOp = new NetworkTreeOperation(op);
|
|
32 list.add(nOp);
|
|
33 }
|
|
34 size = list.size();
|
1
|
35 }
|
83
|
36
|
|
37 public NetworkTreeOperationLog(Iterable<TreeOperation> _list)
|
|
38 {
|
|
39 list = new LinkedList<NetworkTreeOperation>();
|
|
40 for(TreeOperation op: _list) {
|
|
41 NetworkTreeOperation nOp = new NetworkTreeOperation(op);
|
|
42 list.add(nOp);
|
|
43 }
|
|
44 size = list.size();
|
84
|
45 treeName = "";
|
83
|
46 }
|
|
47
|
1
|
48
|
|
49 @Override
|
|
50 public Iterator<TreeOperation> iterator() {
|
83
|
51 LinkedList<TreeOperation> opList = new LinkedList<TreeOperation>();
|
|
52 for(NetworkTreeOperation op : list) {
|
|
53 opList.add(op);
|
|
54 }
|
|
55 return opList.iterator();
|
1
|
56 }
|
|
57
|
|
58 @Override
|
|
59 public NetworkTreeOperationLog add(NodePath _p, NodeOperation _op)
|
|
60 {
|
79
|
61 NetworkTreeOperation op = new NetworkTreeOperation(_p, _op);
|
|
62 list.add(op);
|
83
|
63 return this;
|
1
|
64 }
|
|
65
|
|
66 @Override
|
|
67 public NetworkTreeOperationLog append(TreeOperationLog _log)
|
|
68 {
|
79
|
69 for (TreeOperation o : _log) {
|
|
70 NetworkTreeOperation op = new NetworkTreeOperation(o);
|
|
71 list.add(op);
|
1
|
72 }
|
83
|
73 return this;
|
1
|
74 }
|
|
75
|
|
76 @Override
|
|
77 public int length()
|
|
78 {
|
|
79 return size;
|
|
80 }
|
84
|
81
|
|
82 public String getTreeName() {
|
|
83 return treeName;
|
|
84 }
|
1
|
85
|
|
86 }
|