Mercurial > hg > Members > nobuyasu > jungle-network
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; + } + +}