// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_util_zip_ZipOutputStream__
#define __java_util_zip_ZipOutputStream__

#pragma interface

#include <java/util/zip/DeflaterOutputStream.h>
#include <gcj/array.h>

class java::util::zip::ZipOutputStream : public ::java::util::zip::DeflaterOutputStream
{
public:
  ZipOutputStream (::java::io::OutputStream *);
  virtual void setComment (::java::lang::String *);
  virtual void setMethod (jint);
  virtual void setLevel (jint);
private:
  void writeLeShort (jint);
  void writeLeInt (jint);
public:
  virtual void putNextEntry (::java::util::zip::ZipEntry *);
  virtual void closeEntry ();
  virtual void write (jbyteArray, jint, jint);
  virtual void finish ();
private:
  ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::util::zip::DeflaterOutputStream )))) entries;
  ::java::util::zip::CRC32 *crc;
  ::java::util::zip::ZipEntry *curEntry;
  jint curMethod;
  jint size;
  jint offset;
  jbyteArray zipComment;
  jint defaultMethod;
  static const jint ZIP_STORED_VERSION = 10L;
  static const jint ZIP_DEFLATED_VERSION = 20L;
public:
  static const jint STORED = 0L;
  static const jint DEFLATED = 8L;

  static ::java::lang::Class class$;
};

#endif /* __java_util_zip_ZipOutputStream__ */
