CloseShieldOutputStream, CountingOutputStream, TaggedOutputStream, TeeOutputStreampublic class ProxyOutputStream extends java.io.FilterOutputStream
See the protected methods for ways in which a subclass can easily decorate a stream with custom pre-, post- or error processing functionality.
| Constructor | Description |
|---|---|
ProxyOutputStream(java.io.OutputStream proxy) |
Constructs a new ProxyOutputStream.
|
| Modifier and Type | Method | Description |
|---|---|---|
protected void |
afterWrite(int n) |
Invoked by the write methods after the proxied call has returned
successfully.
|
protected void |
beforeWrite(int n) |
Invoked by the write methods before the call is proxied.
|
void |
close() |
Invokes the delegate's
close() method. |
void |
flush() |
Invokes the delegate's
flush() method. |
protected void |
handleIOException(java.io.IOException e) |
Handle any IOExceptions thrown.
|
void |
write(byte[] bts) |
Invokes the delegate's
write(byte[]) method. |
void |
write(byte[] bts,
int st,
int end) |
Invokes the delegate's
write(byte[]) method. |
void |
write(int idx) |
Invokes the delegate's
write(int) method. |
public ProxyOutputStream(java.io.OutputStream proxy)
proxy - the OutputStream to delegate topublic void write(int idx) throws java.io.IOException
write(int) method.write in class java.io.FilterOutputStreamidx - the byte to writejava.io.IOException - if an I/O error occurspublic void write(byte[] bts) throws java.io.IOException
write(byte[]) method.write in class java.io.FilterOutputStreambts - the bytes to writejava.io.IOException - if an I/O error occurspublic void write(byte[] bts, int st, int end) throws java.io.IOException
write(byte[]) method.write in class java.io.FilterOutputStreambts - the bytes to writest - The start offsetend - The number of bytes to writejava.io.IOException - if an I/O error occurspublic void flush() throws java.io.IOException
flush() method.flush in class java.io.FilterOutputStreamjava.io.IOException - if an I/O error occurspublic void close() throws java.io.IOException
close() method.close in class java.io.FilterOutputStreamjava.io.IOException - if an I/O error occursprotected void beforeWrite(int n) throws java.io.IOException
write(int) method, buffer
length for write(byte[]), etc.) is given as an argument.
Subclasses can override this method to add common pre-processing functionality without having to override all the write methods. The default implementation does nothing.
n - number of bytes to be writtenjava.io.IOException - if the pre-processing failsprotected void afterWrite(int n) throws java.io.IOException
write(int) method, buffer length for write(byte[]),
etc.) is given as an argument.
Subclasses can override this method to add common post-processing functionality without having to override all the write methods. The default implementation does nothing.
n - number of bytes writtenjava.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 occurs