public abstract class ProxyReader
extends java.io.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).
| Constructor and Description |
|---|
ProxyReader(java.io.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(java.io.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(java.nio.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(java.io.Reader proxy)
proxy - the Reader to delegate topublic int read()
throws java.io.IOException
read() method.read in class java.io.FilterReaderjava.io.IOException - if an I/O error occurspublic int read(char[] chr)
throws java.io.IOException
read(char[]) method.read in class java.io.Readerchr - the buffer to read the characters intojava.io.IOException - if an I/O error occurspublic int read(char[] chr,
int st,
int len)
throws java.io.IOException
read(char[], int, int) method.read in class java.io.FilterReaderchr - the buffer to read the characters intost - The start offsetlen - The number of bytes to readjava.io.IOException - if an I/O error occurspublic int read(java.nio.CharBuffer target)
throws java.io.IOException
read(CharBuffer) method.read in interface java.lang.Readableread in class java.io.Readertarget - the char buffer to read the characters intojava.io.IOException - if an I/O error occurspublic long skip(long ln)
throws java.io.IOException
skip(long) method.skip in class java.io.FilterReaderln - the number of bytes to skipjava.io.IOException - if an I/O error occurspublic boolean ready()
throws java.io.IOException
ready() method.ready in class java.io.FilterReaderjava.io.IOException - if an I/O error occurspublic void close()
throws java.io.IOException
close() method.close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.FilterReaderjava.io.IOException - if an I/O error occurspublic void mark(int idx)
throws java.io.IOException
mark(int) method.mark in class java.io.FilterReaderidx - read ahead limitjava.io.IOException - if an I/O error occurspublic void reset()
throws java.io.IOException
reset() method.reset in class java.io.FilterReaderjava.io.IOException - if an I/O error occurspublic boolean markSupported()
markSupported() method.markSupported in class java.io.FilterReaderprotected void beforeRead(int n)
throws java.io.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 readjava.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 chars read, or -1 if the end of stream was reachedjava.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 thrownjava.io.IOException - if an I/O error occursCopyright (c) 2002-2016 Apache Software Foundation