Mercurial > hg > Members > nobuyasu > jungle-network
view src/main/java/alice/jungle/persistent/PersistentJournal.java @ 135:2e8034524259
Added NetworkJournal and SingletonMessageFromAlice class
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 12 Jan 2014 06:18:37 +0900 |
parents | f64ff5bd66f5 |
children | cd4d64249931 |
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 jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListReader; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter; public class PersistentJournal implements NetworkJournal { private ChangeListWriter WRITER; private ChangeListReader READER; private OutputStream out; private InputStream in; public PersistentJournal() { } public PersistentJournal(File file) throws FileNotFoundException { out = new FileOutputStream(file,true); in = new FileInputStream(file); WRITER = new PersistentChangeListWriter(out); READER = new PersistentChangeListReader(in); } @Override public ChangeListReader getReader() { return READER; } @Override public ChangeListWriter getWriter() { String timeStamp = Long.toString(System.currentTimeMillis()); String logFileName = timeStamp + ".log"; OutputStream outStream = null; try { outStream = new FileOutputStream(new File("./log/"+logFileName)); } catch (FileNotFoundException e) { e.printStackTrace(); } ChangeListWriter writer = new PersistentChangeListWriter(outStream); return writer; } public void setOutputFile(File file) throws FileNotFoundException { setOutputStream(new FileOutputStream(file, true)); } public void setInputFile(File file) throws FileNotFoundException { setInputStream(new FileInputStream(file)); } public void setOutputStream(OutputStream _out) { out = _out; WRITER = new PersistentChangeListWriter(out); } public OutputStream getOutputStream() { return out; } public void setInputStream(InputStream _in) { in = _in; READER = new PersistentChangeListReader(in); } public InputStream getInputStream() { return in; } public void close() throws IOException { out.close(); in.close(); } }