Mercurial > hg > Members > nobuyasu > jungle-network
view src/main/java/alice/jungle/persistent/PersistentChangeListReader.java @ 116:895ab2907db3
Modified pom.xml
author | one |
---|---|
date | Fri, 20 Dec 2013 20:47:35 +0900 |
parents | f42f2e6b31de |
children | f64ff5bd66f5 |
line wrap: on
line source
package alice.jungle.persistent; import java.io.EOFException; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; import org.msgpack.MessagePack; import alice.jungle.operations.NetworkTreeOperationLog; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListReader; public class PersistentChangeListReader implements ChangeListReader { private InputStream in; MessagePack msgpack = PersistentJournal.getMsgPackInstance(); public PersistentChangeListReader() { in = null; } public PersistentChangeListReader(InputStream _in) { in = _in; } @Override public ChangeListReader newReader() { return new PersistentChangeListReader(); } @Override public ChangeList read() { try { final NetworkTreeOperationLog readLog = msgpack.read(in, NetworkTreeOperationLog.class); PersistentChangeList cl = new PersistentChangeList(readLog); return cl; } catch (EOFException e){ } catch (IOException e) { } return null; } @Override public Iterator<ChangeList> iterator() { return new Iterator<ChangeList>() { @Override public boolean hasNext() { try { return in.available() != 0; } catch (IOException e) { return false; } } @Override public ChangeList next() { return read(); } @Override public void remove() { } }; } }