public abstract class ProxyReader extends FilterReader
It is an alternative base class to FilterReader to increase reusability, because FilterReader changes the methods being called, such as read(char[]) to read(char[], int, int).
in
Constructor and Description |
---|
ProxyReader(Reader proxy)
Constructs a new ProxyReader.
|
Modifier and Type | Method and Description |
---|---|
protected void |
afterRead(int n)
Invoked by the read methods after the proxied call has returned
successfully.
|
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(IOException e)
Handle any IOExceptions thrown.
|
void |
mark(int idx)
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(char[] chr)
Invokes the delegate's
read(char[]) method. |
int |
read(char[] chr,
int st,
int len)
Invokes the delegate's
read(char[], int, int) method. |
int |
read(CharBuffer target)
Invokes the delegate's
read(CharBuffer) method. |
boolean |
ready()
Invokes the delegate's
ready() method. |
void |
reset()
Invokes the delegate's
reset() method. |
long |
skip(long ln)
Invokes the delegate's
skip(long) method. |
public ProxyReader(Reader proxy)
proxy
- the Reader to delegate topublic int read() throws IOException
read()
method.read
in class FilterReader
IOException
- if an I/O error occurspublic int read(char[] chr) throws IOException
read(char[])
method.read
in class Reader
chr
- the buffer to read the characters intoIOException
- if an I/O error occurspublic int read(char[] chr, int st, int len) throws IOException
read(char[], int, int)
method.read
in class FilterReader
chr
- the buffer to read the characters intost
- The start offsetlen
- The number of bytes to readIOException
- if an I/O error occurspublic int read(CharBuffer target) throws IOException
read(CharBuffer)
method.read
in interface Readable
read
in class Reader
target
- the char buffer to read the characters intoIOException
- if an I/O error occurspublic long skip(long ln) throws IOException
skip(long)
method.skip
in class FilterReader
ln
- the number of bytes to skipIOException
- if an I/O error occurspublic boolean ready() throws IOException
ready()
method.ready
in class FilterReader
IOException
- if an I/O error occurspublic void close() throws IOException
close()
method.close
in interface Closeable
close
in interface AutoCloseable
close
in class FilterReader
IOException
- if an I/O error occurspublic void mark(int idx) throws IOException
mark(int)
method.mark
in class FilterReader
idx
- read ahead limitIOException
- if an I/O error occurspublic void reset() throws IOException
reset()
method.reset
in class FilterReader
IOException
- if an I/O error occurspublic boolean markSupported()
markSupported()
method.markSupported
in class FilterReader
protected void beforeRead(int n) throws IOException
read()
method, buffer length for read(char[])
, 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 chars that the caller asked to be readIOException
- if the pre-processing failsprotected void afterRead(int n) throws 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 chars read, or -1 if the end of stream was reachedIOException
- if the post-processing failsprotected void handleIOException(IOException e) throws IOException
This method provides a point to implement custom exception handling. The default behaviour is to re-throw the exception.
e
- The IOException thrownIOException
- if an I/O error occursCopyright © 2002–2017 The Apache Software Foundation. All rights reserved.