Mercurial > hg > Members > nobuyasu > jungle-network
view src/alice/jungle/operations/NetworkTreeOperationLog.java @ 80:3f8ec40d536a
Added NetworkTreeOperationlogTest
author | one |
---|---|
date | Wed, 16 Oct 2013 19:38:56 +0900 |
parents | 5b9708d9febc |
children | b3ccefdf2b43 |
line wrap: on
line source
package alice.jungle.operations; import java.util.Iterator; import java.util.LinkedList; import org.msgpack.annotation.Message; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; @Message public class NetworkTreeOperationLog implements TreeOperationLog { public LinkedList<TreeOperation> list; public int size; public NetworkTreeOperationLog() { list = new LinkedList<TreeOperation>(); size = 0; } public NetworkTreeOperationLog(Iterable<TreeOperation> _list, int _size) { list = new LinkedList<TreeOperation>(); for(TreeOperation op: _list) { NetworkTreeOperation nOp = new NetworkTreeOperation(op); list.add(nOp); } size = _size; } @Override public Iterator<TreeOperation> iterator() { return list.iterator(); } @Override public NetworkTreeOperationLog add(NodePath _p, NodeOperation _op) { NetworkTreeOperation op = new NetworkTreeOperation(_p, _op); list.add(op); return new NetworkTreeOperationLog(list, size+1); } @Override public NetworkTreeOperationLog append(TreeOperationLog _log) { for (TreeOperation o : _log) { NetworkTreeOperation op = new NetworkTreeOperation(o); list.add(op); } return new NetworkTreeOperationLog(list, size+_log.length()); } @Override public int length() { return size; } }