|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.InputStream java.io.FilterInputStream org.apache.tika.io.ProxyInputStream
public abstract class ProxyInputStream
A Proxy stream which acts as expected, that is it passes the method calls on to the proxied stream and doesn't change which methods are being called.
It is an alternative base class to FilterInputStream to increase reusability, because FilterInputStream changes the methods being called, such as read(byte[]) to read(byte[], int, int).
See the protected methods for ways in which a subclass can easily decorate a stream with custom pre-, post- or error processing functionality.
Field Summary |
---|
Fields inherited from class java.io.FilterInputStream |
---|
in |
Constructor Summary | |
---|---|
ProxyInputStream(java.io.InputStream proxy)
Constructs a new ProxyInputStream. |
Method Summary | |
---|---|
protected void |
afterRead(int n)
Invoked by the read methods after the proxied call has returned successfully. |
int |
available()
Invokes the delegate's available() method. |
protected void |
beforeRead(int n)
Invoked by the read methods before the call is proxied. |
void |
close()
Invokes the delegate's close() method. |
protected void |
handleIOException(java.io.IOException e)
Handle any IOExceptions thrown. |
void |
mark(int readlimit)
Invokes the delegate's mark(int) method. |
boolean |
markSupported()
Invokes the delegate's markSupported() method. |
int |
read()
Invokes the delegate's read() method. |
int |
read(byte[] bts)
Invokes the delegate's read(byte[]) method. |
int |
read(byte[] bts,
int off,
int len)
Invokes the delegate's read(byte[], int, int) method. |
void |
reset()
Invokes the delegate's reset() method. |
long |
skip(long ln)
Invokes the delegate's skip(long) method. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ProxyInputStream(java.io.InputStream proxy)
proxy
- the InputStream to delegate toMethod Detail |
---|
public int read() throws java.io.IOException
read()
method.
read
in class java.io.FilterInputStream
java.io.IOException
- if an I/O error occurspublic int read(byte[] bts) throws java.io.IOException
read(byte[])
method.
read
in class java.io.FilterInputStream
bts
- the buffer to read the bytes into
java.io.IOException
- if an I/O error occurspublic int read(byte[] bts, int off, int len) throws java.io.IOException
read(byte[], int, int)
method.
read
in class java.io.FilterInputStream
bts
- the buffer to read the bytes intooff
- The start offsetlen
- The number of bytes to read
java.io.IOException
- if an I/O error occurspublic long skip(long ln) throws java.io.IOException
skip(long)
method.
skip
in class java.io.FilterInputStream
ln
- the number of bytes to skip
java.io.IOException
- if an I/O error occurspublic int available() throws java.io.IOException
available()
method.
available
in class java.io.FilterInputStream
java.io.IOException
- if an I/O error occurspublic void close() throws java.io.IOException
close()
method.
close
in interface java.io.Closeable
close
in class java.io.FilterInputStream
java.io.IOException
- if an I/O error occurspublic void mark(int readlimit)
mark(int)
method.
mark
in class java.io.FilterInputStream
readlimit
- read ahead limitpublic void reset() throws java.io.IOException
reset()
method.
reset
in class java.io.FilterInputStream
java.io.IOException
- if an I/O error occurspublic boolean markSupported()
markSupported()
method.
markSupported
in class java.io.FilterInputStream
protected void beforeRead(int n) throws java.io.IOException
read()
method, buffer length for read(byte[])
, etc.) is given as
an argument.
Subclasses can override this method to add common pre-processing functionality without having to override all the read methods. The default implementation does nothing.
Note this method is not called from skip(long)
or
reset()
. You need to explicitly override those methods if
you want to add pre-processing steps also to them.
n
- number of bytes that the caller asked to be read
java.io.IOException
- if the pre-processing failsprotected void afterRead(int n) throws java.io.IOException
Subclasses can override this method to add common post-processing functionality without having to override all the read methods. The default implementation does nothing.
Note this method is not called from skip(long)
or
reset()
. You need to explicitly override those methods if
you want to add post-processing steps also to them.
n
- number of bytes read, or -1 if the end of stream was reached
java.io.IOException
- if the post-processing failsprotected void handleIOException(java.io.IOException e) throws java.io.IOException
This method provides a point to implement custom exception handling. The default behaviour is to re-throw the exception.
e
- The IOException thrown
java.io.IOException
- if an I/O error occurs
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |