Class DelegatingOutputStream
- java.lang.Object
- 
- java.io.OutputStream
- 
- org.eclipse.net4j.util.io.DelegatingOutputStream
 
 
- 
- All Implemented Interfaces:
- java.io.Closeable,- java.io.Flushable,- java.lang.AutoCloseable
 - Direct Known Subclasses:
- XOROutputStream
 
 public class DelegatingOutputStream extends java.io.OutputStreamThis class is the superclass of all classes that filter output streams. These streams sit on top of an already existing output stream (the underlying output stream) which it uses as its basic sink of data, but possibly transforming the data along the way or providing additional functionality.The class DelegatingOutputStreamitself simply overrides all methods ofOutputStreamwith versions that pass all requests to the underlying output stream. Subclasses ofDelegatingOutputStreammay further override some of these methods as well as provide additional methods and fields.Note: The only difference to FilterOutputStreamis thatDelegatingOutputStreamdoes not overrideOutputStream.write(byte[])orOutputStream.write(byte[], int, int)but rather exposes the original implementations ofInputStreamwhich callwrite(int)instead of their delegate counterparts.- Author:
- Eike Stepper
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected java.io.OutputStreamoutThe underlying output stream to be filtered.
 - 
Constructor SummaryConstructors Constructor Description DelegatingOutputStream(java.io.OutputStream out)Creates an output stream filter built on top of the specified underlying output stream.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes this output stream and releases any system resources associated with the stream.voidflush()Flushes this output stream and forces any buffered output bytes to be written out to the stream.java.io.OutputStreamgetDelegate()voidwrite(int b)Writes the specifiedbyteto this output stream.
 
- 
- 
- 
Constructor Detail- 
DelegatingOutputStreampublic DelegatingOutputStream(java.io.OutputStream out) Creates an output stream filter built on top of the specified underlying output stream.- Parameters:
- out- the underlying output stream to be assigned to the field this.out for later use, or- nullif this instance is to be created without an underlying stream.
 
 
- 
 - 
Method Detail- 
getDelegatepublic java.io.OutputStream getDelegate() 
 - 
writepublic void write(int b) throws java.io.IOExceptionWrites the specifiedbyteto this output stream.The writemethod ofDelegatingOutputStreamcalls thewritemethod of its underlying output stream, that is, it performs out.write(b).Implements the abstract write method of OutputStream. - Specified by:
- writein class- java.io.OutputStream
- Parameters:
- b- the- byte.
- Throws:
- java.io.IOException- if an I/O error occurs.
 
 - 
flushpublic void flush() throws java.io.IOExceptionFlushes this output stream and forces any buffered output bytes to be written out to the stream.The flushmethod ofDelegatingOutputStreamcalls theflushmethod of its underlying output stream.- Specified by:
- flushin interface- java.io.Flushable
- Overrides:
- flushin class- java.io.OutputStream
- Throws:
- java.io.IOException- if an I/O error occurs.
- See Also:
- out
 
 - 
closepublic void close() throws java.io.IOExceptionCloses this output stream and releases any system resources associated with the stream.The closemethod ofDelegatingOutputStreamcalls itsflushmethod, and then calls theclosemethod of its underlying output stream.
 
- 
 
-