Mercurial > hg > Members > nobuyasu > jungle-network
view src/alice/jungle/operations/NetworkTreeOperationLog.java @ 86:bcaf28f8244d
Added PersistentChageList and PersistentJournalTest
author | one |
---|---|
date | Tue, 29 Oct 2013 16:52:12 +0900 |
parents | 82d1d3dac7bc |
children | 75cf01a430a6 |
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<NetworkTreeOperation> list; public int size; String uuid; String treeName; public NetworkTreeOperationLog() { list = new LinkedList<NetworkTreeOperation>(); size = 0; treeName = ""; } public NetworkTreeOperationLog(String _uuid, String _treeName, Iterable<TreeOperation> _list) { uuid = _uuid; treeName = _treeName; list = new LinkedList<NetworkTreeOperation>(); for(TreeOperation op: _list) { NetworkTreeOperation nOp = new NetworkTreeOperation(op); list.add(nOp); } size = list.size(); } public NetworkTreeOperationLog(Iterable<TreeOperation> _list) { list = new LinkedList<NetworkTreeOperation>(); for(TreeOperation op: _list) { NetworkTreeOperation nOp = new NetworkTreeOperation(op); list.add(nOp); } size = list.size(); treeName = ""; } @Override public Iterator<TreeOperation> iterator() { LinkedList<TreeOperation> opList = new LinkedList<TreeOperation>(); for(NetworkTreeOperation op : list) { opList.add(op); } return opList.iterator(); } @Override public NetworkTreeOperationLog add(NodePath _p, NodeOperation _op) { NetworkTreeOperation op = new NetworkTreeOperation(_p, _op); list.add(op); return this; } @Override public NetworkTreeOperationLog append(TreeOperationLog _log) { for (TreeOperation o : _log) { NetworkTreeOperation op = new NetworkTreeOperation(o); list.add(op); } return this; } @Override public int length() { return size; } public String getUUID() { return uuid; } public String getTreeName() { return treeName; } }