annotate src/alice/jungle/operations/NetworkTreeOperationLog.java @ 79:5b9708d9febc

Modified NetworkTreeOperationLog NetworkNodeOperation
author one
date Wed, 16 Oct 2013 19:25:02 +0900
parents 190f6a3bdab2
children 3f8ec40d536a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31
190f6a3bdab2 rename some packages
one
parents: 2
diff changeset
1 package alice.jungle.operations;
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
2
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
3 import java.util.Iterator;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
4 import java.util.LinkedList;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
5
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
6 import org.msgpack.annotation.Message;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
7
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
12
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
13 @Message
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
14 public class NetworkTreeOperationLog implements TreeOperationLog
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
15 {
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
16 public LinkedList<TreeOperation> list;
2
20498c88a70d add Container
one
parents: 1
diff changeset
17 public int size;
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
18
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
19 public NetworkTreeOperationLog() {
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
20 list = new LinkedList<TreeOperation>();
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
21 size = 0;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
22 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
23
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
24 public NetworkTreeOperationLog(Iterable<TreeOperation> _list, int _size)
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
25 {
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
26 list = new LinkedList<TreeOperation>();
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
27 for(TreeOperation op: _list) {
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
28 NetworkTreeOperation nOp = new NetworkTreeOperation(op);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
29 list.add(nOp);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
30 }
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
31 size = _size;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
32 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
33
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
34 public Iterable<TreeOperation> getOperationLogList() {
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
35 return list;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
36 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
37
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
38 @Override
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
39 public Iterator<TreeOperation> iterator() {
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
40 return list.iterator();
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
41 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
42
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
43 @Override
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
44 public NetworkTreeOperationLog add(NodePath _p, NodeOperation _op)
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
45 {
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
46 NetworkTreeOperation op = new NetworkTreeOperation(_p, _op);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
47 list.add(op);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
48 return new NetworkTreeOperationLog(list, size+1);
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
49 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
50
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
51 @Override
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
52 public NetworkTreeOperationLog append(TreeOperationLog _log)
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
53 {
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
54 for (TreeOperation o : _log) {
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
55 NetworkTreeOperation op = new NetworkTreeOperation(o);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
56 list.add(op);
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
57 }
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
58 return new NetworkTreeOperationLog(list, size+_log.length());
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
59 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
60
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
61 @Override
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
62 public int length()
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
63 {
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
64 return size;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
65 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
66
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
67 }