Mercurial > hg > Database > jungle-network
view src/alice/jungle/persistence/impl/logger/TmpNetworkTreeOperationLog.java @ 77:2dba7e1cf9fa
Added NetworknodeOperation and Test
author | one |
---|---|
date | Tue, 15 Oct 2013 16:01:11 +0900 |
parents | |
children |
line wrap: on
line source
package alice.jungle.persistence.impl.logger; import java.util.Collection; import java.util.Iterator; import java.util.LinkedList; import org.msgpack.annotation.Message; import alice.jungle.operations.NetworkTreeOperation; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation; 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 TmpNetworkTreeOperationLog implements TreeOperationLog { /* MessagePack cannnot handle final. * * private final Iterable<TreeOperation> list; * private final int size; */ private LinkedList<TreeOperation> list; private int size; public TmpNetworkTreeOperationLog() { list = null; size = 0; } /* public NetworkTreeOperationLog(Iterable<TreeOperation> _list,int _size) { list = _list; size = _size; } */ public TmpNetworkTreeOperationLog(LinkedList<TreeOperation> _list) { list = _list; size = list.size(); } @Override public Iterator<TreeOperation> iterator() { return list.iterator(); } @Override public TreeOperationLog add(NodePath _p, NodeOperation _op) { TreeOperation op = new NetworkTreeOperation(_p,_op); list.add(op); return new TmpNetworkTreeOperationLog(list); } @Override public TreeOperationLog append(TreeOperationLog _log) { for(TreeOperation treeOp: _log) { list.add(treeOp); } return new TmpNetworkTreeOperationLog(list); } @Override public int length() { return size; } }