// 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:
  virtual void close ();
  virtual void closeEntry ();
  virtual void write (jint);
  virtual void write (jbyteArray, jint, jint);
  virtual void finish ();
private:
  jint write_entry (::java::util::zip::ZipEntry *, jboolean);
public:
  virtual void putNextEntry (::java::util::zip::ZipEntry *);
  virtual void setLevel (jint);
  virtual void setMethod (jint);
  virtual void setComment (::java::lang::String *);
  ZipOutputStream (::java::io::OutputStream *);
private:
  jint put2 (jint);
  jint put4 (jint);
  jint put_version ();
public:
  static const jint STORED = 0L;
  static const jint DEFLATED = 8L;
private:
  ::java::util::zip::ZipEntry *current;
  ::java::util::zip::ZipEntry *chain;
  jint method;
  jint level;
  ::java::lang::String *comment;
  jlong bytes_written;
  jint uncompressed_size;
  ::java::util::zip::Checksum *sum;
public:

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

#endif /* __java_util_zip_ZipOutputStream__ */
