com.partnersoft.v3x.io
Class BufferPoolingDeflaterOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by java.util.zip.DeflaterOutputStream
              extended by com.partnersoft.v3x.io.BufferPoolingDeflaterOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public class BufferPoolingDeflaterOutputStream
extends java.util.zip.DeflaterOutputStream

An implementation of DeflaterOutputStream that utilizes pooled buffers. Presumably this makes it more efficient (both memory and speed). Unfortunately, java.util.zip.DeflaterOutputStream does not have a constructor that allows me to skip allocating their buffer, so I just allocate a single byte one. Maybe that doesn't screw us up, who knows.


Field Summary
 
Fields inherited from class java.util.zip.DeflaterOutputStream
buf, def
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
BufferPoolingDeflaterOutputStream(java.io.OutputStream outie)
           
BufferPoolingDeflaterOutputStream(java.io.OutputStream outie, java.util.zip.Deflater deflater)
           
 
Method Summary
 void close()
           
 
Methods inherited from class java.util.zip.DeflaterOutputStream
deflate, finish, write, write
 
Methods inherited from class java.io.FilterOutputStream
flush, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BufferPoolingDeflaterOutputStream

public BufferPoolingDeflaterOutputStream(java.io.OutputStream outie)

BufferPoolingDeflaterOutputStream

public BufferPoolingDeflaterOutputStream(java.io.OutputStream outie,
                                         java.util.zip.Deflater deflater)
Method Detail

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.util.zip.DeflaterOutputStream
Throws:
java.io.IOException