Package org.eclipse.jgit.util.io
Class LimitedInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- org.eclipse.jgit.util.io.LimitedInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public abstract class LimitedInputStream extends java.io.FilterInputStreamWraps aInputStream, limiting the number of bytes which can be read. This class was copied and modifed from the Google Guava 16.0. Differently from the original Guava code, when a caller tries to read from this stream past the given limit and the wrapped stream hasn't yet reached its EOF this class will call the limitExceeded method instead of returning EOF.- Since:
- 3.3
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedLimitedInputStream(java.io.InputStream in, long limit)Create a new LimitedInputStream
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description intavailable()protected abstract voidlimitExceeded()Called when trying to read past the givenlimitand the wrapped InputStreamFilterInputStream.inhasn't yet reached its EOFvoidmark(int readLimit)intread()intread(byte[] b, int off, int len)voidreset()longskip(long n)
-
-
-
Method Detail
-
available
public int available() throws java.io.IOException- Overrides:
availablein classjava.io.FilterInputStream- Throws:
java.io.IOException
-
mark
public void mark(int readLimit)
- Overrides:
markin classjava.io.FilterInputStream
-
read
public int read() throws java.io.IOException- Overrides:
readin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException- Overrides:
readin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
reset
public void reset() throws java.io.IOException- Overrides:
resetin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
skip
public long skip(long n) throws java.io.IOException- Overrides:
skipin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
limitExceeded
protected abstract void limitExceeded() throws java.io.IOExceptionCalled when trying to read past the givenlimitand the wrapped InputStreamFilterInputStream.inhasn't yet reached its EOF- Throws:
java.io.IOException- subclasses can throw anIOExceptionwhen the limit is exceeded. The throws java.io.IOException will be forwarded back to the caller of the read method which read the stream past the limit.
-
-