Class RewindableInputStream
- java.lang.Object
-
- java.io.InputStream
-
- nu.validator.htmlparser.rewindable.RewindableInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,Rewindable
public class RewindableInputStream extends java.io.InputStream implements Rewindable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classRewindableInputStream.Block
-
Field Summary
Fields Modifier and Type Field Description private RewindableInputStream.BlockcurBlockprivate intcurBlockAvailIf curBlockAvail > 0, then there are curBlockAvail bytes available to be returned starting at curBlockPos in curBlock.buf.private intcurBlockPosprivate booleaneoftrue if we have got an EOF from the underlying InputStreamprivate RewindableInputStream.Blockheadprivate java.io.InputStreaminprivate RewindableInputStream.BlocklastBlockprivate booleanpretendClosedprivate booleansavingtrue unless willNotRewind has been called
-
Constructor Summary
Constructors Constructor Description RewindableInputStream(java.io.InputStream in)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()booleancanRewind()voidclose()intread()intread(byte[] b, int off, int len)voidrewind()voidwillNotRewind()
-
-
-
Field Detail
-
head
private RewindableInputStream.Block head
-
curBlockAvail
private int curBlockAvail
If curBlockAvail > 0, then there are curBlockAvail bytes available to be returned starting at curBlockPos in curBlock.buf.
-
curBlock
private RewindableInputStream.Block curBlock
-
curBlockPos
private int curBlockPos
-
lastBlock
private RewindableInputStream.Block lastBlock
-
saving
private boolean saving
true unless willNotRewind has been called
-
in
private final java.io.InputStream in
-
pretendClosed
private boolean pretendClosed
-
eof
private boolean eof
true if we have got an EOF from the underlying InputStream
-
-
Method Detail
-
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
-
rewind
public void rewind()
- Specified by:
rewindin interfaceRewindable
-
canRewind
public boolean canRewind()
- Specified by:
canRewindin interfaceRewindable
-
willNotRewind
public void willNotRewind()
- Specified by:
willNotRewindin interfaceRewindable
-
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
-
available
public int available() throws java.io.IOException- Overrides:
availablein classjava.io.InputStream- Throws:
java.io.IOException
-
-