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;
+	}
+
+}