public class OutputStreamWithCloseAction
extends java.io.OutputStream
OutputStream wraps another OutputStream. It forwards all
write requests to this inner OutputStream. The only difference lies
in its close() function which runs a given CloseAction just
after having called close() on the inner
OutputStream successfully.CloseAction| Constructor and Description |
|---|
OutputStreamWithCloseAction(java.io.OutputStream output,
CloseAction action)
Create an
OutputStreamWithCloseAction instance. |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
void |
flush() |
void |
write(byte[] b) |
void |
write(byte[] b,
int off,
int len) |
void |
write(int b) |
public OutputStreamWithCloseAction(java.io.OutputStream output,
CloseAction action)
throws java.lang.NullPointerException
OutputStreamWithCloseAction instance.output - The OutputStream to wrap.
MANDATORYaction - The action(s) to run after the given OutputStream
has been successfully closed.
OPTIONALjava.lang.NullPointerException - If the given OutputStream is missing.public void write(byte[] b)
throws java.io.IOException
write in class java.io.OutputStreamjava.io.IOExceptionpublic void write(byte[] b,
int off,
int len)
throws java.io.IOException
write in class java.io.OutputStreamjava.io.IOExceptionpublic void write(int b)
throws java.io.IOException
write in class java.io.OutputStreamjava.io.IOExceptionpublic void flush()
throws java.io.IOException
flush in interface java.io.Flushableflush in class java.io.OutputStreamjava.io.IOExceptionpublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.OutputStreamjava.io.IOException