org.jruby
Class RubyZlib.RubyGzipWriter.HeaderModifyableGZIPOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by java.util.zip.DeflaterOutputStream
              extended by org.jruby.RubyZlib.RubyGzipWriter.HeaderModifyableGZIPOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable
Enclosing class:
RubyZlib.RubyGzipWriter

public class RubyZlib.RubyGzipWriter.HeaderModifyableGZIPOutputStream
extends java.util.zip.DeflaterOutputStream


Field Summary
 
Fields inherited from class java.util.zip.DeflaterOutputStream
buf, def
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
RubyZlib.RubyGzipWriter.HeaderModifyableGZIPOutputStream(IRubyObject io)
           
 
Method Summary
 void close()
          We call internal IO#close directly, not via IOOutputStream#close.
 long crc()
           
 void finish()
           
 boolean headerIsWritten()
           
 long pos()
           
 void setModifiedTime(long newModifiedTime)
           
 void write(byte[] bytes, int offset, int length)
           
 
Methods inherited from class java.util.zip.DeflaterOutputStream
deflate, 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

RubyZlib.RubyGzipWriter.HeaderModifyableGZIPOutputStream

public RubyZlib.RubyGzipWriter.HeaderModifyableGZIPOutputStream(IRubyObject io)
                                                         throws java.io.IOException
Throws:
java.io.IOException
Method Detail

close

public void close()
           throws java.io.IOException
We call internal IO#close directly, not via IOOutputStream#close. IOInputStream#close directly invoke IO.getOutputStream().close() for IO object instead of just calling IO#cloase of Ruby. It causes EBADF at OpenFile#finalize. TODO: implement this without IOOutputStream? Not so hard.

Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.util.zip.DeflaterOutputStream
Throws:
java.io.IOException

write

public void write(byte[] bytes,
                  int offset,
                  int length)
           throws java.io.IOException
Overrides:
write in class java.util.zip.DeflaterOutputStream
Throws:
java.io.IOException

finish

public void finish()
            throws java.io.IOException
Overrides:
finish in class java.util.zip.DeflaterOutputStream
Throws:
java.io.IOException

setModifiedTime

public void setModifiedTime(long newModifiedTime)

headerIsWritten

public boolean headerIsWritten()

crc

public long crc()

pos

public long pos()


Copyright © 2002-2009 JRuby Team. All Rights Reserved.