Mercurial > hg > Database > jungle-network
comparison src/alice/jungle/operations/NetworkTreeOperationLog.java @ 83:b3ccefdf2b43
Added PersistentExample
author | one |
---|---|
date | Fri, 25 Oct 2013 18:44:29 +0900 |
parents | 3f8ec40d536a |
children | 82d1d3dac7bc |
comparison
equal
deleted
inserted
replaced
82:60d28fedcbf2 | 83:b3ccefdf2b43 |
---|---|
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; | 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; |
12 | 12 |
13 @Message | 13 @Message |
14 public class NetworkTreeOperationLog implements TreeOperationLog | 14 public class NetworkTreeOperationLog implements TreeOperationLog |
15 { | 15 { |
16 public LinkedList<TreeOperation> list; | 16 public LinkedList<NetworkTreeOperation> list; |
17 public int size; | 17 public int size; |
18 | 18 |
19 public NetworkTreeOperationLog() { | 19 public NetworkTreeOperationLog() { |
20 list = new LinkedList<TreeOperation>(); | 20 list = new LinkedList<NetworkTreeOperation>(); |
21 size = 0; | 21 size = 0; |
22 } | 22 } |
23 | 23 |
24 public NetworkTreeOperationLog(Iterable<TreeOperation> _list) | |
25 { | |
26 list = new LinkedList<NetworkTreeOperation>(); | |
27 for(TreeOperation op: _list) { | |
28 NetworkTreeOperation nOp = new NetworkTreeOperation(op); | |
29 list.add(nOp); | |
30 } | |
31 size = list.size(); | |
32 } | |
33 | |
24 public NetworkTreeOperationLog(Iterable<TreeOperation> _list, int _size) | 34 public NetworkTreeOperationLog(Iterable<TreeOperation> _list, int _size) |
25 { | 35 { |
26 list = new LinkedList<TreeOperation>(); | 36 list = new LinkedList<NetworkTreeOperation>(); |
27 for(TreeOperation op: _list) { | 37 for(TreeOperation op: _list) { |
28 NetworkTreeOperation nOp = new NetworkTreeOperation(op); | 38 NetworkTreeOperation nOp = new NetworkTreeOperation(op); |
29 list.add(nOp); | 39 list.add(nOp); |
30 } | 40 } |
31 size = _size; | 41 size = _size; |
32 } | 42 } |
33 | 43 |
34 @Override | 44 @Override |
35 public Iterator<TreeOperation> iterator() { | 45 public Iterator<TreeOperation> iterator() { |
36 return list.iterator(); | 46 LinkedList<TreeOperation> opList = new LinkedList<TreeOperation>(); |
47 for(NetworkTreeOperation op : list) { | |
48 opList.add(op); | |
49 } | |
50 return opList.iterator(); | |
37 } | 51 } |
38 | 52 |
39 @Override | 53 @Override |
40 public NetworkTreeOperationLog add(NodePath _p, NodeOperation _op) | 54 public NetworkTreeOperationLog add(NodePath _p, NodeOperation _op) |
41 { | 55 { |
42 NetworkTreeOperation op = new NetworkTreeOperation(_p, _op); | 56 NetworkTreeOperation op = new NetworkTreeOperation(_p, _op); |
43 list.add(op); | 57 list.add(op); |
44 return new NetworkTreeOperationLog(list, size+1); | 58 return this; |
45 } | 59 } |
46 | 60 |
47 @Override | 61 @Override |
48 public NetworkTreeOperationLog append(TreeOperationLog _log) | 62 public NetworkTreeOperationLog append(TreeOperationLog _log) |
49 { | 63 { |
50 for (TreeOperation o : _log) { | 64 for (TreeOperation o : _log) { |
51 NetworkTreeOperation op = new NetworkTreeOperation(o); | 65 NetworkTreeOperation op = new NetworkTreeOperation(o); |
52 list.add(op); | 66 list.add(op); |
53 } | 67 } |
54 return new NetworkTreeOperationLog(list, size+_log.length()); | 68 return this; |
55 } | 69 } |
56 | 70 |
57 @Override | 71 @Override |
58 public int length() | 72 public int length() |
59 { | 73 { |