FOREIGN MODULE java_util_jar;

IMPORT
    java_lang,
    java_util,
    java_io,
    java_util_zip,
    java_security_cert,
    sun_security_util;

TYPE

  Attributes$Name* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                     STATIC
                       MANIFEST_VERSION* : Attributes$Name;
                       SIGNATURE_VERSION* : Attributes$Name;
                       CONTENT_TYPE* : Attributes$Name;
                       CLASS_PATH* : Attributes$Name;
                       MAIN_CLASS* : Attributes$Name;
                       SEALED* : Attributes$Name;
                       IMPLEMENTATION_TITLE* : Attributes$Name;
                       IMPLEMENTATION_VERSION* : Attributes$Name;
                       IMPLEMENTATION_VENDOR* : Attributes$Name;
                       SPECIFICATION_TITLE* : Attributes$Name;
                       SPECIFICATION_VERSION* : Attributes$Name;
                       SPECIFICATION_VENDOR* : Attributes$Name;
                       PROCEDURE Init*(p0 : java_lang.String) : Attributes$Name,CONSTRUCTOR;
                     END;

  Attributes* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_util.Map + java_lang.Cloneable)
                  map! : java_util.Map;
                STATIC
                  PROCEDURE Init*() : Attributes,CONSTRUCTOR;
                  PROCEDURE Init*(p0 : INTEGER) : Attributes,CONSTRUCTOR;
                  PROCEDURE Init*(p0 : Attributes) : Attributes,CONSTRUCTOR;
                END;

  JarEntry* = POINTER TO EXTENSIBLE RECORD (java_util_zip.ZipEntry)
              STATIC
                PROCEDURE Init*(p0 : java_lang.String) : JarEntry,CONSTRUCTOR;
                PROCEDURE Init*(p0 : JarEntry) : JarEntry,CONSTRUCTOR;
                PROCEDURE Init*(p0 : java_util_zip.ZipEntry) : JarEntry,CONSTRUCTOR;
              END;

  JarException* = POINTER TO EXTENSIBLE RECORD (java_util_zip.ZipException)
                  STATIC
                    PROCEDURE Init*() : JarException,CONSTRUCTOR;
                    PROCEDURE Init*(p0 : java_lang.String) : JarException,CONSTRUCTOR;
                  END;

  JarFile* = POINTER TO EXTENSIBLE RECORD (java_util_zip.ZipFile)
             STATIC
               MANIFEST_NAME* = "META-INF/MANIFEST.MF";
               PROCEDURE Init*(p0 : java_io.File) : JarFile,CONSTRUCTOR;
               PROCEDURE Init*(p0 : java_io.File;
                               p1 : BOOLEAN) : JarFile,CONSTRUCTOR;
               PROCEDURE Init*(p0 : java_lang.String) : JarFile,CONSTRUCTOR;
               PROCEDURE Init*(p0 : java_lang.String;
                               p1 : BOOLEAN) : JarFile,CONSTRUCTOR;
             END;

  JarInputStream* = POINTER TO EXTENSIBLE RECORD (java_util_zip.ZipInputStream)
                    STATIC
                      PROCEDURE Init*(p0 : java_io.InputStream) : JarInputStream,CONSTRUCTOR;
                      PROCEDURE Init*(p0 : java_io.InputStream;
                                      p1 : BOOLEAN) : JarInputStream,CONSTRUCTOR;
                    END;

  JarOutputStream* = POINTER TO EXTENSIBLE RECORD (java_util_zip.ZipOutputStream)
                     STATIC
                       PROCEDURE Init*(p0 : java_io.OutputStream) : JarOutputStream,CONSTRUCTOR;
                       PROCEDURE Init*(p0 : java_io.OutputStream;
                                       p1 : Manifest) : JarOutputStream,CONSTRUCTOR;
                     END;

  Manifest* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_lang.Cloneable)
              STATIC
                PROCEDURE Init*() : Manifest,CONSTRUCTOR;
                PROCEDURE Init*(p0 : java_io.InputStream) : Manifest,CONSTRUCTOR;
                PROCEDURE Init*(p0 : Manifest) : Manifest,CONSTRUCTOR;
              END;




PROCEDURE (self:Attributes$Name) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:Attributes$Name) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:Attributes$Name) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:Attributes) clear*(),NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) clone*() : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Attributes) containsKey*(p0 : java_lang.Object) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) containsValue*(p0 : java_lang.Object) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) entrySet*() : java_util.Set,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:Attributes) get*(p0 : java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) getValue*(p0 : java_lang.String) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) getValue*(p0 : Attributes$Name) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:Attributes) isEmpty*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) keySet*() : java_util.Set,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) put*(p0 : java_lang.Object;
                                 p1 : java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) putAll*(p0 : java_util.Map),NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) putValue*(p0 : java_lang.String;
                                      p1 : java_lang.String) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) remove*(p0 : java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) size*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Attributes) values*() : java_util.Collection,NEW,EXTENSIBLE;

PROCEDURE (self:JarEntry) getAttributes*() : Attributes,NEW,EXTENSIBLE;

PROCEDURE (self:JarEntry) getCertificates*() : POINTER TO ARRAY OF java_security_cert.Certificate,NEW,EXTENSIBLE;

PROCEDURE (self:JarFile) entries*() : java_util.Enumeration,EXTENSIBLE;

PROCEDURE (self:JarFile) getEntry*(p0 : java_lang.String) : java_util_zip.ZipEntry,EXTENSIBLE;

PROCEDURE (self:JarFile) getInputStream*(p0 : java_util_zip.ZipEntry) : java_io.InputStream,EXTENSIBLE;

PROCEDURE (self:JarFile) getJarEntry*(p0 : java_lang.String) : JarEntry,NEW,EXTENSIBLE;

PROCEDURE (self:JarFile) getManifest*() : Manifest,NEW,EXTENSIBLE;

PROCEDURE (self:JarInputStream) createZipEntry!(p0 : java_lang.String) : java_util_zip.ZipEntry,EXTENSIBLE;

PROCEDURE (self:JarInputStream) getManifest*() : Manifest,NEW,EXTENSIBLE;

PROCEDURE (self:JarInputStream) getNextEntry*() : java_util_zip.ZipEntry,EXTENSIBLE;

PROCEDURE (self:JarInputStream) getNextJarEntry*() : JarEntry,NEW,EXTENSIBLE;

PROCEDURE (self:JarInputStream) read*(IN  p0 : ARRAY OF BYTE;
                                          p1 : INTEGER;
                                          p2 : INTEGER) : INTEGER,EXTENSIBLE;

PROCEDURE (self:JarOutputStream) putNextEntry*(p0 : java_util_zip.ZipEntry),EXTENSIBLE;

PROCEDURE (self:Manifest) clear*(),NEW,EXTENSIBLE;

PROCEDURE (self:Manifest) clone*() : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Manifest) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:Manifest) getAttributes*(p0 : java_lang.String) : Attributes,NEW,EXTENSIBLE;

PROCEDURE (self:Manifest) getEntries*() : java_util.Map,NEW,EXTENSIBLE;

PROCEDURE (self:Manifest) getMainAttributes*() : Attributes,NEW,EXTENSIBLE;

PROCEDURE (self:Manifest) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:Manifest) read*(p0 : java_io.InputStream),NEW,EXTENSIBLE;

PROCEDURE (self:Manifest) write*(p0 : java_io.OutputStream),NEW,EXTENSIBLE;

END java_util_jar.