Mercurial > hg > Members > nobuyasu > jungle-network
view src/main/java/alice/jungle/persistent/PersistentJournal.java @ 115:3f9c6ab43461
Adde PersistentJournalTest.java
author | one |
---|---|
date | Fri, 20 Dec 2013 06:51:35 +0900 |
parents | f9e29a52efd3 |
children | 895ab2907db3 |
line wrap: on
line source
package alice.jungle.persistent; 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 ChangeListWriter WRITER; private static ChangeListReader READER; private static MessagePack msgpack = new MessagePack(); private static OutputStream out = null; private static InputStream in = null; public PersistentJournal() { } public PersistentJournal(File file) throws FileNotFoundException { out = new FileOutputStream(file); in = new FileInputStream(file); WRITER = new PersistentChangeListWriter(out); READER = new PersistentChangeListReader(in); } @Override public ChangeListReader getReader() { return READER; } @Override public ChangeListWriter getWriter() { return WRITER; } public void setOutputFile(File file) throws FileNotFoundException { out = new FileOutputStream(file); WRITER = new PersistentChangeListWriter(out); } public void setInputFile(File file) throws FileNotFoundException { in = new FileInputStream(file); READER = new PersistentChangeListReader(in); } 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; } }