CoherenceTM v3.3
Copyright© 2000-2007 by Oracle Corporation

com.tangosol.io
Class WrapperOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by com.tangosol.io.WrapperOutputStream
All Implemented Interfaces:
OutputStreaming, Closeable, Flushable
Direct Known Subclasses:
AsymmetricEncryptionFilter.IdentityOutputStream, ClusterEncryptionFilter.MultiplexingOutputStream, PackedDataOutputStream

public class WrapperOutputStream
extends OutputStream
implements OutputStreaming

This is an OutputStream class that delegates to another OutputStream. Primarily, this is intended as a base class for building specific-purpose OutputStream wrappers.

Author:
cp 2004.08.20

Field Summary
protected  OutputStream m_out
          The underlying OutputStream object to use.
 
Constructor Summary
WrapperOutputStream()
          Construct an uninitialized WrapperOutputStream.
WrapperOutputStream(OutputStream out)
          Construct a WrapperOutputStream that will output to the specified OutputStream object.
 
Method Summary
 void close()
          Closes this OutputStream and releases any associated system resources.
protected  OutputStream ensureOutputStream()
          Return the underlying OutputStream.
 void flush()
          Flushes this OutputStream and forces any buffered output bytes to be written.
 OutputStream getOutputStream()
          Obtain the underlying OutputStream.
 void setOutputStream(OutputStream out)
          Specify the underlying OutputStream.
 void write(byte[] ab)
          Writes all the bytes in the array ab.
 void write(byte[] ab, int of, int cb)
          Writes cb bytes starting at offset of from the array ab.
 void write(int b)
          Writes the eight low-order bits of the argument b.
 

Field Detail

m_out

protected OutputStream m_out
The underlying OutputStream object to use.

Constructor Detail

WrapperOutputStream

public WrapperOutputStream()
Construct an uninitialized WrapperOutputStream.


WrapperOutputStream

public WrapperOutputStream(OutputStream out)
Construct a WrapperOutputStream that will output to the specified OutputStream object.

Parameters:
out - an OutputStream object to write to
Method Detail

getOutputStream

public OutputStream getOutputStream()
Obtain the underlying OutputStream.

Returns:
the underlying OutputStream

ensureOutputStream

protected OutputStream ensureOutputStream()
Return the underlying OutputStream.

Returns:
the underlying OutputStream
Throws:
IllegalStateException - if the underlying stream has not been specified.

setOutputStream

public void setOutputStream(OutputStream out)
Specify the underlying OutputStream. This method may only be called once with a non-null value.

Parameters:
out - the stream to be wrapped
Throws:
IllegalStateException - if the underlying stream has already been specified.

write

public void write(int b)
           throws IOException
Writes the eight low-order bits of the argument b. The 24 high-order bits of b are ignored.

Specified by:
write in interface OutputStreaming
Specified by:
write in class OutputStream
Parameters:
b - the byte to write (passed as an integer)
Throws:
IOException - if an I/O error occurs

write

public void write(byte[] ab)
           throws IOException
Writes all the bytes in the array ab.

Specified by:
write in interface OutputStreaming
Overrides:
write in class OutputStream
Parameters:
ab - the byte array to write
Throws:
IOException - if an I/O error occurs
NullPointerException - if ab is null

write

public void write(byte[] ab,
                  int of,
                  int cb)
           throws IOException
Writes cb bytes starting at offset of from the array ab.

Specified by:
write in interface OutputStreaming
Overrides:
write in class OutputStream
Parameters:
ab - the byte array to write from
of - the offset into ab to start writing from
cb - the number of bytes from ab to write
Throws:
IOException - if an I/O error occurs
NullPointerException - if ab is null
IndexOutOfBoundsException - if of is negative, or cb is negative, or of+cb is greater than ab.length

flush

public void flush()
           throws IOException
Flushes this OutputStream and forces any buffered output bytes to be written.

Specified by:
flush in interface OutputStreaming
Specified by:
flush in interface Flushable
Overrides:
flush in class OutputStream
Throws:
IOException - if an I/O error occurs

close

public void close()
           throws IOException
Closes this OutputStream and releases any associated system resources.

Specified by:
close in interface OutputStreaming
Specified by:
close in interface Closeable
Overrides:
close in class OutputStream
Throws:
IOException - if an I/O error occurs

CoherenceTM v3.3
Copyright© 2000-2007 by Oracle Corporation