Mercurial > hg > Members > nobuyasu > jungle-network
diff 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 |
line wrap: on
line diff
--- a/src/alice/jungle/operations/NetworkTreeOperationLog.java Wed Oct 16 20:53:44 2013 +0900 +++ b/src/alice/jungle/operations/NetworkTreeOperationLog.java Fri Oct 25 18:44:29 2013 +0900 @@ -13,17 +13,27 @@ @Message public class NetworkTreeOperationLog implements TreeOperationLog { - public LinkedList<TreeOperation> list; + public LinkedList<NetworkTreeOperation> list; public int size; public NetworkTreeOperationLog() { - list = new LinkedList<TreeOperation>(); + list = new LinkedList<NetworkTreeOperation>(); size = 0; } - + + public NetworkTreeOperationLog(Iterable<TreeOperation> _list) + { + list = new LinkedList<NetworkTreeOperation>(); + for(TreeOperation op: _list) { + NetworkTreeOperation nOp = new NetworkTreeOperation(op); + list.add(nOp); + } + size = list.size(); + } + public NetworkTreeOperationLog(Iterable<TreeOperation> _list, int _size) { - list = new LinkedList<TreeOperation>(); + list = new LinkedList<NetworkTreeOperation>(); for(TreeOperation op: _list) { NetworkTreeOperation nOp = new NetworkTreeOperation(op); list.add(nOp); @@ -33,7 +43,11 @@ @Override public Iterator<TreeOperation> iterator() { - return list.iterator(); + LinkedList<TreeOperation> opList = new LinkedList<TreeOperation>(); + for(NetworkTreeOperation op : list) { + opList.add(op); + } + return opList.iterator(); } @Override @@ -41,7 +55,7 @@ { NetworkTreeOperation op = new NetworkTreeOperation(_p, _op); list.add(op); - return new NetworkTreeOperationLog(list, size+1); + return this; } @Override @@ -51,7 +65,7 @@ NetworkTreeOperation op = new NetworkTreeOperation(o); list.add(op); } - return new NetworkTreeOperationLog(list, size+_log.length()); + return this; } @Override