Mercurial > hg > Members > nobuyasu > jungle-network
diff src/main/java/alice/jungle/operations/NetworkTreeOperationLog.java @ 105:f9e29a52efd3
Move some files
author | one |
---|---|
date | Tue, 26 Nov 2013 06:43:10 +0900 |
parents | src/alice/jungle/operations/NetworkTreeOperationLog.java@75cf01a430a6 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/alice/jungle/operations/NetworkTreeOperationLog.java Tue Nov 26 06:43:10 2013 +0900 @@ -0,0 +1,103 @@ +package alice.jungle.operations; + +import java.util.Date; +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; + long timestamp; + + public NetworkTreeOperationLog() { + list = new LinkedList<NetworkTreeOperation>(); + size = 0; + treeName = ""; + timestamp = new Date().getTime(); + } + + public NetworkTreeOperationLog(String _uuid, String _treeName, Iterable<TreeOperation> _list) + { + this(_uuid, _treeName, _list, new Date().getTime()); + } + + public NetworkTreeOperationLog(String _uuid, String _treeName, Iterable<TreeOperation> _list, long _timestamp) + { + uuid = _uuid; + treeName = _treeName; + list = new LinkedList<NetworkTreeOperation>(); + timestamp = _timestamp; + for(TreeOperation op: _list) { + NetworkTreeOperation nOp = new NetworkTreeOperation(op); + list.add(nOp); + } + size = list.size(); + } + + public NetworkTreeOperationLog(Iterable<TreeOperation> _list) + { + this("", "", _list); + } + + + @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; + } + + public long getTimeStamp() { + return timestamp; + } + + public void setTimeStamp(long _timestamp) { + timestamp = _timestamp; + } + +}