activemq-cpp-3.6.0
decaf::util::zip::DeflaterOutputStream Class Reference

Provides a FilterOutputStream instance that compresses the data before writing it to the wrapped OutputStream. More...

#include <src/main/decaf/util/zip/DeflaterOutputStream.h>

Inheritance diagram for decaf::util::zip::DeflaterOutputStream:

Public Member Functions

 DeflaterOutputStream (decaf::io::OutputStream *outputStream, bool own=false)
 Creates a new DeflateOutputStream with a Default Deflater and buffer size.
 DeflaterOutputStream (decaf::io::OutputStream *outputStream, Deflater *deflater, bool own=false, bool ownDeflater=false)
 Creates a new DeflateOutputStream with a user supplied Deflater and a default buffer size.
 DeflaterOutputStream (decaf::io::OutputStream *outputStream, Deflater *deflater, int bufferSize, bool own=false, bool ownDeflater=false)
 Creates a new DeflateOutputStream with a user supplied Deflater and specified buffer size.
virtual ~DeflaterOutputStream ()
virtual void finish ()
 Finishes writing any remaining data to the wrapped OutputStream but does not close it upon completion.
virtual void close ()
 Closes this object and deallocates the appropriate resources.The object is generally no longer usable after calling close.
Exceptions
IOExceptionif an error occurs while closing.
The default implementation of this method does nothing.The close method of FilterOutputStream calls its flush method, and then calls the close method of its underlying output stream.
- Public Member Functions inherited from decaf::io::FilterOutputStream
 FilterOutputStream (OutputStream *outputStream, bool own=false)
 Constructor, creates a wrapped output stream.
virtual ~FilterOutputStream ()
virtual void flush ()
 Flushes this stream by writing any buffered output to the underlying stream.
Exceptions
IOExceptionif an I/O error occurs.
The default implementation of this method does nothing.
virtual std::string toString () const
 Output a String representation of this object.The default version of this method just prints the Class Name.
Returns
a string representation of the object.

- Public Member Functions inherited from decaf::io::OutputStream
 OutputStream ()
virtual ~OutputStream ()
virtual void write (unsigned char c)
 Writes a single byte to the output stream.
virtual void write (const unsigned char *buffer, int size)
 Writes an array of bytes to the output stream.
virtual void write (const unsigned char *buffer, int size, int offset, int length)
 Writes an array of bytes to the output stream in order starting at buffer[offset] and proceeding until the number of bytes specified by the length argument are written or an error occurs.
virtual void lock ()
 Locks the object.
virtual bool tryLock ()
 Attempts to Lock the object, if the lock is already held by another thread than this method returns false.
virtual void unlock ()
 Unlocks the object.
virtual void wait ()
 Waits on a signal from this object, which is generated by a call to Notify.
virtual void wait (long long millisecs)
 Waits on a signal from this object, which is generated by a call to Notify.
virtual void wait (long long millisecs, int nanos)
 Waits on a signal from this object, which is generated by a call to Notify.
virtual void notify ()
 Signals a waiter on this object that it can now wake up and continue.
virtual void notifyAll ()
 Signals the waiters on this object that it can now wake up and continue.
- Public Member Functions inherited from decaf::io::Closeable
virtual ~Closeable ()
- Public Member Functions inherited from decaf::io::Flushable
virtual ~Flushable ()
- Public Member Functions inherited from decaf::util::concurrent::Synchronizable
virtual ~Synchronizable ()

Protected Member Functions

virtual void doWriteByte (unsigned char value)
virtual void doWriteArrayBounded (const unsigned char *buffer, int size, int offset, int length)
virtual void deflate ()
 Writes a buffers worth of compressed data to the wrapped OutputStream.
- Protected Member Functions inherited from decaf::io::FilterOutputStream
virtual void doWriteArray (const unsigned char *buffer, int size)
virtual bool isClosed () const

Protected Attributes

Deflaterdeflater
 The Deflater for this stream.
std::vector< unsigned char > buf
 The Buffer to use for.
bool ownDeflater
bool isDone
- Protected Attributes inherited from decaf::io::FilterOutputStream
OutputStreamoutputStream
bool own
volatile bool closed

Static Protected Attributes

static const std::size_t DEFAULT_BUFFER_SIZE

Detailed Description

Provides a FilterOutputStream instance that compresses the data before writing it to the wrapped OutputStream.

Since
1.0

Constructor & Destructor Documentation

decaf::util::zip::DeflaterOutputStream::DeflaterOutputStream ( decaf::io::OutputStream outputStream,
bool  own = false 
)

Creates a new DeflateOutputStream with a Default Deflater and buffer size.

Parameters
outputStreamThe OutputStream instance to wrap.
ownShould this filter take ownership of the OutputStream pointer (default is false).
decaf::util::zip::DeflaterOutputStream::DeflaterOutputStream ( decaf::io::OutputStream outputStream,
Deflater deflater,
bool  own = false,
bool  ownDeflater = false 
)

Creates a new DeflateOutputStream with a user supplied Deflater and a default buffer size.

When the user supplied a Deflater instance the DeflaterOutpotStream does not take ownership of the Deflater pointer unless the ownDeflater parameter is set to true, the caller is still responsible for deleting the Deflater when ownDeflater is false.

Parameters
outputStreamThe OutputStream instance to wrap.
deflaterThe user supplied Deflater to use for compression. (
ownShould this filter take ownership of the OutputStream pointer (default is false).
ownDeflaterShould the filter take ownership of the passed Deflater object (default is false).
Exceptions
NullPointerExceptionif the Deflater given is NULL.
decaf::util::zip::DeflaterOutputStream::DeflaterOutputStream ( decaf::io::OutputStream outputStream,
Deflater deflater,
int  bufferSize,
bool  own = false,
bool  ownDeflater = false 
)

Creates a new DeflateOutputStream with a user supplied Deflater and specified buffer size.

When the user supplied a Deflater instance the DeflaterOutpotStream does not take ownership of the Deflater pointer unless the ownDeflater parameter is set to true, otherwise the caller is still responsible for deleting the Deflater.

Parameters
outputStreamThe OutputStream instance to wrap.
deflaterThe user supplied Deflater to use for compression.
bufferSizeThe size of the input buffer.
ownShould this filter take ownership of the OutputStream pointer (default is false).
ownDeflaterShould the filter take ownership of the passed Deflater object (default is false).
Exceptions
NullPointerExceptionif the Deflater given is NULL.
IllegalArgumentExceptionif bufferSize is 0.
virtual decaf::util::zip::DeflaterOutputStream::~DeflaterOutputStream ( )
virtual

Member Function Documentation

virtual void decaf::util::zip::DeflaterOutputStream::close ( )
virtual

Closes this object and deallocates the appropriate resources.The object is generally no longer usable after calling close.

Exceptions
IOExceptionif an error occurs while closing.
The default implementation of this method does nothing.The close method of FilterOutputStream calls its flush method, and then calls the close method of its underlying output stream.

Finishes writing any remaining data to the OutputStream then closes the stream.

Reimplemented from decaf::io::FilterOutputStream.

virtual void decaf::util::zip::DeflaterOutputStream::deflate ( )
protectedvirtual

Writes a buffers worth of compressed data to the wrapped OutputStream.

virtual void decaf::util::zip::DeflaterOutputStream::doWriteArrayBounded ( const unsigned char *  buffer,
int  size,
int  offset,
int  length 
)
protectedvirtual

Reimplemented from decaf::io::FilterOutputStream.

virtual void decaf::util::zip::DeflaterOutputStream::doWriteByte ( unsigned char  value)
protectedvirtual

Reimplemented from decaf::io::FilterOutputStream.

virtual void decaf::util::zip::DeflaterOutputStream::finish ( )
virtual

Finishes writing any remaining data to the wrapped OutputStream but does not close it upon completion.

Exceptions
IOExceptionif an I/O error occurs.

Field Documentation

std::vector<unsigned char> decaf::util::zip::DeflaterOutputStream::buf
protected

The Buffer to use for.

const std::size_t decaf::util::zip::DeflaterOutputStream::DEFAULT_BUFFER_SIZE
staticprotected
Deflater* decaf::util::zip::DeflaterOutputStream::deflater
protected

The Deflater for this stream.

bool decaf::util::zip::DeflaterOutputStream::isDone
protected
bool decaf::util::zip::DeflaterOutputStream::ownDeflater
protected

The documentation for this class was generated from the following file: