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

#ifndef __java_util_zip_ZipFile__
#define __java_util_zip_ZipFile__

#pragma interface

#include <java/lang/Object.h>

class java::util::zip::ZipFile : public ::java::lang::Object
{
private:
  ::java::io::RandomAccessFile *openFile (::java::lang::String *, ::java::io::File *);
public:
  ZipFile (::java::lang::String *);
  ZipFile (::java::io::File *);
  ZipFile (::java::io::File *, jint);
private:
  void checkZipFile ();
  void checkClosed ();
  void readEntries ();
public:
  virtual void close ();
public:  // actually protected
  virtual void finalize ();
public:
  virtual ::java::util::Enumeration *entries ();
private:
  ::java::util::LinkedHashMap *getEntries ();
public:
  virtual ::java::util::zip::ZipEntry *getEntry (::java::lang::String *);
  virtual ::java::io::InputStream *getInputStream (::java::util::zip::ZipEntry *);
  virtual ::java::lang::String *getName () { return name; }
  virtual jint size ();
  static const jint OPEN_READ = 1L;
  static const jint OPEN_DELETE = 4L;
public: // actually package-private
  static const jint ENDNRD = 4L;
private:
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object )))) name;
  ::java::io::RandomAccessFile *raf;
  ::java::util::LinkedHashMap *entries__;
  jboolean closed;

  friend class java_util_zip_ZipFile$PartialInputStream;
  friend class java_util_zip_ZipFile$ZipEntryEnumeration;
  friend class java_util_zip_ZipFile$1;
public:

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

#endif /* __java_util_zip_ZipFile__ */
