Class ReplayableInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.apache.manifoldcf.connectorcommon.fuzzyml.ReplayableInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class ReplayableInputStream extends java.io.InputStreamThis class represents an input stream wraps another, and that can be reset and played over. It accomplishes this by buffering all bytes that go past, and then plays back from that buffer after the reset. The caller, at some point, is expected to signal that no further restarts will occur, which ends all attempts at buffering.
-
-
Field Summary
Fields Modifier and Type Field Description protected intbytePositionprotected ByteBufferbytesprotected booleandoBufferingprotected java.io.InputStreamwrappedStream
-
Constructor Summary
Constructors Constructor Description ReplayableInputStream(java.io.InputStream wrappedStream)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()intread()intread(byte[] b, int off, int len)voidrestart(boolean lastRestart)longskip(long n)
-
-
-
Field Detail
-
bytes
protected final ByteBuffer bytes
-
wrappedStream
protected final java.io.InputStream wrappedStream
-
bytePosition
protected int bytePosition
-
doBuffering
protected boolean doBuffering
-
-
Method Detail
-
restart
public void restart(boolean lastRestart)
-
read
public int read() throws java.io.IOException- Specified by:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
skip
public long skip(long n) throws java.io.IOException- Overrides:
skipin classjava.io.InputStream- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.InputStream- Throws:
java.io.IOException
-
-