X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=site%2Fj2s%2Fjava%2Futil%2Fzip%2FZipInputStream.js;fp=site%2Fj2s%2Fjava%2Futil%2Fzip%2FZipInputStream.js;h=61e52b509f1b4d3077a1faeda42b1a5572b17b7b;hp=56bcad39b8f9e69cf2f3c5cb633323362bbdbbb6;hb=b9b7a352eee79b7764c3b09c9d19663075061d8c;hpb=7301a2415adab88038b291fc54caeeb3a5a47a44 diff --git a/site/j2s/java/util/zip/ZipInputStream.js b/site/j2s/java/util/zip/ZipInputStream.js index 56bcad3..61e52b5 100644 --- a/site/j2s/java/util/zip/ZipInputStream.js +++ b/site/j2s/java/util/zip/ZipInputStream.js @@ -1,271 +1,271 @@ -Clazz.declarePackage ("java.util.zip"); -Clazz.load (["java.util.zip.InflaterInputStream", "$.ZipConstants", "$.CRC32"], "java.util.zip.ZipInputStream", ["java.io.EOFException", "$.IOException", "$.PushbackInputStream", "java.lang.IllegalArgumentException", "$.IndexOutOfBoundsException", "$.Long", "$.NullPointerException", "java.util.zip.Inflater", "$.ZipEntry", "$.ZipException"], function () { -c$ = Clazz.decorateAsClass (function () { -this.entry = null; -this.flag = 0; -this.crc = null; -this.remaining = 0; -this.tmpbuf = null; -this.$closed = false; -this.entryEOF = false; -this.zc = null; -this.byteTest = null; -this.$b = null; -Clazz.instantialize (this, arguments); -}, java.util.zip, "ZipInputStream", java.util.zip.InflaterInputStream, java.util.zip.ZipConstants); -Clazz.prepareFields (c$, function () { -this.crc = new java.util.zip.CRC32 (); -this.tmpbuf = Clazz.newByteArray (512, 0); -this.byteTest = Clazz.newByteArray (-1, [0x20]); -this.$b = Clazz.newByteArray (256, 0); -}); -Clazz.defineMethod (c$, "ensureOpen", - function () { -if (this.$closed) { -throw new java.io.IOException ("Stream closed"); -}}); -Clazz.makeConstructor (c$, -function ($in) { -Clazz.superConstructor (this, java.util.zip.ZipInputStream, [ new java.io.PushbackInputStream ($in, 1024), java.util.zip.ZipInputStream.newInflater (), 512]); -var charset = "UTF-8"; -try { - String.instantialize (this.byteTest, charset); -} catch (e) { -if (Clazz.exceptionOf (e, java.io.UnsupportedEncodingException)) { -throw new NullPointerException ("charset is invalid"); -} else { -throw e; -} -} -this.zc = charset; -}, "java.io.InputStream"); -c$.newInflater = Clazz.defineMethod (c$, "newInflater", - function () { -return new java.util.zip.Inflater ().init (0, true); -}); -Clazz.defineMethod (c$, "getNextEntry", -function () { -this.ensureOpen (); -if (this.entry != null) { -this.closeEntry (); -}this.crc.reset (); -this.inflater = this.inf = java.util.zip.ZipInputStream.newInflater (); -if ((this.entry = this.readLOC ()) == null) { -return null; -}if (this.entry.method == 0) { -this.remaining = this.entry.size; -}this.entryEOF = false; -return this.entry; -}); -Clazz.defineMethod (c$, "closeEntry", -function () { -this.ensureOpen (); -while (this.read (this.tmpbuf, 0, this.tmpbuf.length) != -1) { -} -this.entryEOF = true; -}); -Clazz.overrideMethod (c$, "available", -function () { -this.ensureOpen (); -return (this.entryEOF ? 0 : 1); -}); -Clazz.overrideMethod (c$, "read", -function (b, off, len) { -this.ensureOpen (); -if (off < 0 || len < 0 || off > b.length - len) { -throw new IndexOutOfBoundsException (); -} else if (len == 0) { -return 0; -}if (this.entry == null) { -return -1; -}switch (this.entry.method) { -case 8: -len = this.readInf (b, off, len); -if (len == -1) { -this.readEnd (this.entry); -this.entryEOF = true; -this.entry = null; -} else { -this.crc.update (b, off, len); -}return len; -case 0: -if (this.remaining <= 0) { -this.entryEOF = true; -this.entry = null; -return -1; -}if (len > this.remaining) { -len = this.remaining; -}len = this.$in.read (b, off, len); -if (len == -1) { -throw new java.util.zip.ZipException ("unexpected EOF"); -}this.crc.update (b, off, len); -this.remaining -= len; -if (this.remaining == 0 && this.entry.crc != this.crc.getValue ()) { -throw new java.util.zip.ZipException ("invalid entry CRC (expected 0x" + Long.toHexString (this.entry.crc) + " but got 0x" + Long.toHexString (this.crc.getValue ()) + ")"); -}return len; -default: -throw new java.util.zip.ZipException ("invalid compression method"); -} -}, "~A,~N,~N"); -Clazz.overrideMethod (c$, "skip", -function (n) { -if (n < 0) { -throw new IllegalArgumentException ("negative skip length"); -}this.ensureOpen (); -var max = Math.min (n, 2147483647); -var total = 0; -while (total < max) { -var len = max - total; -if (len > this.tmpbuf.length) { -len = this.tmpbuf.length; -}len = this.read (this.tmpbuf, 0, len); -if (len == -1) { -this.entryEOF = true; -break; -}total += len; -} -return total; -}, "~N"); -Clazz.defineMethod (c$, "close", -function () { -if (!this.$closed) { -Clazz.superCall (this, java.util.zip.ZipInputStream, "close", []); -this.$closed = true; -}}); -Clazz.defineMethod (c$, "readLOC", - function () { -try { -this.readFully (this.tmpbuf, 0, 30); -} catch (e) { -if (Clazz.exceptionOf (e, java.io.EOFException)) { -return null; -} else { -throw e; -} -} -if (java.util.zip.ZipInputStream.get32 (this.tmpbuf, 0) != 67324752) { -return null; -}this.flag = java.util.zip.ZipInputStream.get16 (this.tmpbuf, 6); -var len = java.util.zip.ZipInputStream.get16 (this.tmpbuf, 26); -var blen = this.$b.length; -if (len > blen) { -do blen = blen * 2; - while (len > blen); -this.$b = Clazz.newByteArray (blen, 0); -}this.readFully (this.$b, 0, len); -var e = this.createZipEntry (((this.flag & 2048) != 0) ? this.toStringUTF8 (this.$b, len) : this.toStringb2 (this.$b, len)); -if ((this.flag & 1) == 1) { -throw new java.util.zip.ZipException ("encrypted ZIP entry not supported"); -}e.method = java.util.zip.ZipInputStream.get16 (this.tmpbuf, 8); -e.time = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 10); -if ((this.flag & 8) == 8) { -if (e.method != 8) { -throw new java.util.zip.ZipException ("only DEFLATED entries can have EXT descriptor"); -}} else { -e.crc = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 14); -e.csize = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 18); -e.size = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 22); -}len = java.util.zip.ZipInputStream.get16 (this.tmpbuf, 28); -if (len > 0) { -var bb = Clazz.newByteArray (len, 0); -this.readFully (bb, 0, len); -e.setExtra (bb); -if (e.csize == 4294967295 || e.size == 4294967295) { -var off = 0; -while (off + 4 < len) { -var sz = java.util.zip.ZipInputStream.get16 (bb, off + 2); -if (java.util.zip.ZipInputStream.get16 (bb, off) == 1) { -off += 4; -if (sz < 16 || (off + sz) > len) { -return e; -}e.size = java.util.zip.ZipInputStream.get64 (bb, off); -e.csize = java.util.zip.ZipInputStream.get64 (bb, off + 8); -break; -}off += (sz + 4); -} -}}return e; -}); -Clazz.defineMethod (c$, "toStringUTF8", - function (b2, len) { -try { -return String.instantialize (b2, 0, len, this.zc); -} catch (e) { -if (Clazz.exceptionOf (e, java.io.UnsupportedEncodingException)) { -return this.toStringb2 (b2, len); -} else { -throw e; -} -} -}, "~A,~N"); -Clazz.defineMethod (c$, "toStringb2", - function (b2, len) { -return String.instantialize (b2, 0, len); -}, "~A,~N"); -Clazz.defineMethod (c$, "createZipEntry", -function (name) { -return new java.util.zip.ZipEntry (name); -}, "~S"); -Clazz.defineMethod (c$, "readEnd", - function (e) { -var n = this.inf.getAvailIn (); -if (n > 0) { -(this.$in).unread (this.buf, this.len - n, n); -this.eof = false; -}if ((this.flag & 8) == 8) { -if (this.inf.getTotalOut () > 4294967295 || this.inf.getTotalIn () > 4294967295) { -this.readFully (this.tmpbuf, 0, 24); -var sig = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 0); -if (sig != 134695760) { -e.crc = sig; -e.csize = java.util.zip.ZipInputStream.get64 (this.tmpbuf, 4); -e.size = java.util.zip.ZipInputStream.get64 (this.tmpbuf, 12); -(this.$in).unread (this.tmpbuf, 19, 4); -} else { -e.crc = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 4); -e.csize = java.util.zip.ZipInputStream.get64 (this.tmpbuf, 8); -e.size = java.util.zip.ZipInputStream.get64 (this.tmpbuf, 16); -}} else { -this.readFully (this.tmpbuf, 0, 16); -var sig = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 0); -if (sig != 134695760) { -e.crc = sig; -e.csize = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 4); -e.size = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 8); -(this.$in).unread (this.tmpbuf, 11, 4); -} else { -e.crc = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 4); -e.csize = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 8); -e.size = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 12); -}}}if (e.size != this.inf.getTotalOut ()) { -throw new java.util.zip.ZipException ("invalid entry size (expected " + e.size + " but got " + this.inf.getTotalOut () + " bytes)"); -}if (e.csize != this.inf.getTotalIn ()) { -throw new java.util.zip.ZipException ("invalid entry compressed size (expected " + e.csize + " but got " + this.inf.getTotalIn () + " bytes)"); -}if (e.crc != this.crc.getValue ()) { -throw new java.util.zip.ZipException ("invalid entry CRC (expected 0x" + Long.toHexString (e.crc) + " but got 0x" + Long.toHexString (this.crc.getValue ()) + ")"); -}}, "java.util.zip.ZipEntry"); -Clazz.defineMethod (c$, "readFully", - function (b, off, len) { -while (len > 0) { -var n = this.$in.read (b, off, len); -if (n == -1) { -throw new java.io.EOFException (); -}off += n; -len -= n; -} -}, "~A,~N,~N"); -c$.get16 = Clazz.defineMethod (c$, "get16", - function (b, off) { -return (b[off] & 0xff) | ((b[off + 1] & 0xff) << 8); -}, "~A,~N"); -c$.get32 = Clazz.defineMethod (c$, "get32", - function (b, off) { -return (java.util.zip.ZipInputStream.get16 (b, off) | (java.util.zip.ZipInputStream.get16 (b, off + 2) << 16)) & 0xffffffff; -}, "~A,~N"); -c$.get64 = Clazz.defineMethod (c$, "get64", - function (b, off) { -return java.util.zip.ZipInputStream.get32 (b, off) | (java.util.zip.ZipInputStream.get32 (b, off + 4) << 32); -}, "~A,~N"); -Clazz.defineStatics (c$, -"STORED", 0, -"DEFLATED", 8); -}); +Clazz.declarePackage ("java.util.zip"); +Clazz.load (["java.util.zip.InflaterInputStream", "$.ZipConstants", "$.CRC32"], "java.util.zip.ZipInputStream", ["java.io.EOFException", "$.IOException", "$.PushbackInputStream", "java.lang.IllegalArgumentException", "$.IndexOutOfBoundsException", "$.Long", "$.NullPointerException", "java.util.zip.Inflater", "$.ZipEntry", "$.ZipException"], function () { +c$ = Clazz.decorateAsClass (function () { +this.entry = null; +this.flag = 0; +this.crc = null; +this.remaining = 0; +this.tmpbuf = null; +this.$closed = false; +this.entryEOF = false; +this.zc = null; +this.byteTest = null; +this.$b = null; +Clazz.instantialize (this, arguments); +}, java.util.zip, "ZipInputStream", java.util.zip.InflaterInputStream, java.util.zip.ZipConstants); +Clazz.prepareFields (c$, function () { +this.crc = new java.util.zip.CRC32 (); +this.tmpbuf = Clazz.newByteArray (512, 0); +this.byteTest = Clazz.newByteArray (-1, [0x20]); +this.$b = Clazz.newByteArray (256, 0); +}); +Clazz.defineMethod (c$, "ensureOpen", + function () { +if (this.$closed) { +throw new java.io.IOException ("Stream closed"); +}}); +Clazz.makeConstructor (c$, +function ($in) { +Clazz.superConstructor (this, java.util.zip.ZipInputStream, [ new java.io.PushbackInputStream ($in, 1024), java.util.zip.ZipInputStream.newInflater (), 512]); +var charset = "UTF-8"; +try { + String.instantialize (this.byteTest, charset); +} catch (e) { +if (Clazz.exceptionOf (e, java.io.UnsupportedEncodingException)) { +throw new NullPointerException ("charset is invalid"); +} else { +throw e; +} +} +this.zc = charset; +}, "java.io.InputStream"); +c$.newInflater = Clazz.defineMethod (c$, "newInflater", + function () { +return new java.util.zip.Inflater ().init (0, true); +}); +Clazz.defineMethod (c$, "getNextEntry", +function () { +this.ensureOpen (); +if (this.entry != null) { +this.closeEntry (); +}this.crc.reset (); +this.inflater = this.inf = java.util.zip.ZipInputStream.newInflater (); +if ((this.entry = this.readLOC ()) == null) { +return null; +}if (this.entry.method == 0) { +this.remaining = this.entry.size; +}this.entryEOF = false; +return this.entry; +}); +Clazz.defineMethod (c$, "closeEntry", +function () { +this.ensureOpen (); +while (this.read (this.tmpbuf, 0, this.tmpbuf.length) != -1) { +} +this.entryEOF = true; +}); +Clazz.overrideMethod (c$, "available", +function () { +this.ensureOpen (); +return (this.entryEOF ? 0 : 1); +}); +Clazz.overrideMethod (c$, "read", +function (b, off, len) { +this.ensureOpen (); +if (off < 0 || len < 0 || off > b.length - len) { +throw new IndexOutOfBoundsException (); +} else if (len == 0) { +return 0; +}if (this.entry == null) { +return -1; +}switch (this.entry.method) { +case 8: +len = this.readInf (b, off, len); +if (len == -1) { +this.readEnd (this.entry); +this.entryEOF = true; +this.entry = null; +} else { +this.crc.update (b, off, len); +}return len; +case 0: +if (this.remaining <= 0) { +this.entryEOF = true; +this.entry = null; +return -1; +}if (len > this.remaining) { +len = this.remaining; +}len = this.$in.read (b, off, len); +if (len == -1) { +throw new java.util.zip.ZipException ("unexpected EOF"); +}this.crc.update (b, off, len); +this.remaining -= len; +if (this.remaining == 0 && this.entry.crc != this.crc.getValue ()) { +throw new java.util.zip.ZipException ("invalid entry CRC (expected 0x" + Long.toHexString (this.entry.crc) + " but got 0x" + Long.toHexString (this.crc.getValue ()) + ")"); +}return len; +default: +throw new java.util.zip.ZipException ("invalid compression method"); +} +}, "~A,~N,~N"); +Clazz.overrideMethod (c$, "skip", +function (n) { +if (n < 0) { +throw new IllegalArgumentException ("negative skip length"); +}this.ensureOpen (); +var max = Math.min (n, 2147483647); +var total = 0; +while (total < max) { +var len = max - total; +if (len > this.tmpbuf.length) { +len = this.tmpbuf.length; +}len = this.read (this.tmpbuf, 0, len); +if (len == -1) { +this.entryEOF = true; +break; +}total += len; +} +return total; +}, "~N"); +Clazz.defineMethod (c$, "close", +function () { +if (!this.$closed) { +Clazz.superCall (this, java.util.zip.ZipInputStream, "close", []); +this.$closed = true; +}}); +Clazz.defineMethod (c$, "readLOC", + function () { +try { +this.readFully (this.tmpbuf, 0, 30); +} catch (e) { +if (Clazz.exceptionOf (e, java.io.EOFException)) { +return null; +} else { +throw e; +} +} +if (java.util.zip.ZipInputStream.get32 (this.tmpbuf, 0) != 67324752) { +return null; +}this.flag = java.util.zip.ZipInputStream.get16 (this.tmpbuf, 6); +var len = java.util.zip.ZipInputStream.get16 (this.tmpbuf, 26); +var blen = this.$b.length; +if (len > blen) { +do blen = blen * 2; + while (len > blen); +this.$b = Clazz.newByteArray (blen, 0); +}this.readFully (this.$b, 0, len); +var e = this.createZipEntry (((this.flag & 2048) != 0) ? this.toStringUTF8 (this.$b, len) : this.toStringb2 (this.$b, len)); +if ((this.flag & 1) == 1) { +throw new java.util.zip.ZipException ("encrypted ZIP entry not supported"); +}e.method = java.util.zip.ZipInputStream.get16 (this.tmpbuf, 8); +e.time = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 10); +if ((this.flag & 8) == 8) { +if (e.method != 8) { +throw new java.util.zip.ZipException ("only DEFLATED entries can have EXT descriptor"); +}} else { +e.crc = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 14); +e.csize = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 18); +e.size = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 22); +}len = java.util.zip.ZipInputStream.get16 (this.tmpbuf, 28); +if (len > 0) { +var bb = Clazz.newByteArray (len, 0); +this.readFully (bb, 0, len); +e.setExtra (bb); +if (e.csize == 4294967295 || e.size == 4294967295) { +var off = 0; +while (off + 4 < len) { +var sz = java.util.zip.ZipInputStream.get16 (bb, off + 2); +if (java.util.zip.ZipInputStream.get16 (bb, off) == 1) { +off += 4; +if (sz < 16 || (off + sz) > len) { +return e; +}e.size = java.util.zip.ZipInputStream.get64 (bb, off); +e.csize = java.util.zip.ZipInputStream.get64 (bb, off + 8); +break; +}off += (sz + 4); +} +}}return e; +}); +Clazz.defineMethod (c$, "toStringUTF8", + function (b2, len) { +try { +return String.instantialize (b2, 0, len, this.zc); +} catch (e) { +if (Clazz.exceptionOf (e, java.io.UnsupportedEncodingException)) { +return this.toStringb2 (b2, len); +} else { +throw e; +} +} +}, "~A,~N"); +Clazz.defineMethod (c$, "toStringb2", + function (b2, len) { +return String.instantialize (b2, 0, len); +}, "~A,~N"); +Clazz.defineMethod (c$, "createZipEntry", +function (name) { +return new java.util.zip.ZipEntry (name); +}, "~S"); +Clazz.defineMethod (c$, "readEnd", + function (e) { +var n = this.inf.getAvailIn (); +if (n > 0) { +(this.$in).unread (this.buf, this.len - n, n); +this.eof = false; +}if ((this.flag & 8) == 8) { +if (this.inf.getTotalOut () > 4294967295 || this.inf.getTotalIn () > 4294967295) { +this.readFully (this.tmpbuf, 0, 24); +var sig = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 0); +if (sig != 134695760) { +e.crc = sig; +e.csize = java.util.zip.ZipInputStream.get64 (this.tmpbuf, 4); +e.size = java.util.zip.ZipInputStream.get64 (this.tmpbuf, 12); +(this.$in).unread (this.tmpbuf, 19, 4); +} else { +e.crc = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 4); +e.csize = java.util.zip.ZipInputStream.get64 (this.tmpbuf, 8); +e.size = java.util.zip.ZipInputStream.get64 (this.tmpbuf, 16); +}} else { +this.readFully (this.tmpbuf, 0, 16); +var sig = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 0); +if (sig != 134695760) { +e.crc = sig; +e.csize = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 4); +e.size = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 8); +(this.$in).unread (this.tmpbuf, 11, 4); +} else { +e.crc = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 4); +e.csize = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 8); +e.size = java.util.zip.ZipInputStream.get32 (this.tmpbuf, 12); +}}}if (e.size != this.inf.getTotalOut ()) { +throw new java.util.zip.ZipException ("invalid entry size (expected " + e.size + " but got " + this.inf.getTotalOut () + " bytes)"); +}if (e.csize != this.inf.getTotalIn ()) { +throw new java.util.zip.ZipException ("invalid entry compressed size (expected " + e.csize + " but got " + this.inf.getTotalIn () + " bytes)"); +}if (e.crc != this.crc.getValue ()) { +throw new java.util.zip.ZipException ("invalid entry CRC (expected 0x" + Long.toHexString (e.crc) + " but got 0x" + Long.toHexString (this.crc.getValue ()) + ")"); +}}, "java.util.zip.ZipEntry"); +Clazz.defineMethod (c$, "readFully", + function (b, off, len) { +while (len > 0) { +var n = this.$in.read (b, off, len); +if (n == -1) { +throw new java.io.EOFException (); +}off += n; +len -= n; +} +}, "~A,~N,~N"); +c$.get16 = Clazz.defineMethod (c$, "get16", + function (b, off) { +return (b[off] & 0xff) | ((b[off + 1] & 0xff) << 8); +}, "~A,~N"); +c$.get32 = Clazz.defineMethod (c$, "get32", + function (b, off) { +return (java.util.zip.ZipInputStream.get16 (b, off) | (java.util.zip.ZipInputStream.get16 (b, off + 2) << 16)) & 0xffffffff; +}, "~A,~N"); +c$.get64 = Clazz.defineMethod (c$, "get64", + function (b, off) { +return java.util.zip.ZipInputStream.get32 (b, off) | (java.util.zip.ZipInputStream.get32 (b, off + 4) << 32); +}, "~A,~N"); +Clazz.defineStatics (c$, +"STORED", 0, +"DEFLATED", 8); +});