diff src/alice/jungle/persistence/PersistentJournal.java @ 85:e641f559559c

Added some files for persistent
author one
date Mon, 28 Oct 2013 17:21:56 +0900
parents
children bcaf28f8244d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/alice/jungle/persistence/PersistentJournal.java	Mon Oct 28 17:21:56 2013 +0900
@@ -0,0 +1,68 @@
+package alice.jungle.persistence;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import org.msgpack.MessagePack;
+
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListReader;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Journal;
+
+public class PersistentJournal implements Journal {
+	
+	private static PersistentChangeListWriter WRITER;
+	private static PersistentChangeListReader READER;
+	private static MessagePack msgpack;
+	private static OutputStream out;
+	private static InputStream in;
+	
+	public PersistentJournal(File file) throws FileNotFoundException {
+		out = new FileOutputStream(file, true);
+		in = new FileInputStream(file);
+		WRITER = new PersistentChangeListWriter(out);
+		READER = new PersistentChangeListReader(in);
+     	msgpack = new MessagePack();		
+	}
+	
+	@Override
+	public ChangeListReader getReader() {
+		return READER;
+	}
+
+	@Override
+	public ChangeListWriter getWriter() {
+		return WRITER;
+	}
+	
+	public void close() throws IOException {
+		out.close();
+		in.close();
+	}
+	
+	public void setOutputStream(OutputStream _out) {
+		out = _out;
+	}
+	
+	public OutputStream getOutputStream() {
+		return out;
+	}
+	
+	public void setInputStream(InputStream _in) {
+		in = _in;
+	}
+	
+	public InputStream getInputStream() {
+		return in;
+	}
+	
+	public static MessagePack getMessagePack() {
+		return msgpack;
+	}
+
+}