Clazz.declarePackage ("java.util.zip"); Clazz.load (["java.util.zip.ZipConstants"], "java.util.zip.ZipEntry", ["java.lang.IllegalArgumentException", "$.InternalError", "$.NullPointerException", "java.util.Date"], function () { c$ = Clazz.decorateAsClass (function () { this.offset = 0; this.name = null; this.time = -1; this.crc = -1; this.size = -1; this.csize = -1; this.method = -1; this.flag = 0; this.extra = null; this.comment = null; Clazz.instantialize (this, arguments); }, java.util.zip, "ZipEntry", null, [java.util.zip.ZipConstants, Cloneable]); Clazz.makeConstructor (c$, function (name) { if (name == null) { throw new NullPointerException (); }if (name.length > 0xFFFF) { throw new IllegalArgumentException ("entry name too long"); }this.name = name; }, "~S"); Clazz.defineMethod (c$, "getName", function () { return this.name; }); Clazz.defineMethod (c$, "setTime", function (time) { this.time = java.util.zip.ZipEntry.javaToDosTime (time); }, "~N"); Clazz.defineMethod (c$, "getTime", function () { return this.time != -1 ? java.util.zip.ZipEntry.dosToJavaTime (this.time) : -1; }); Clazz.defineMethod (c$, "setSize", function (size) { if (size < 0) { throw new IllegalArgumentException ("invalid entry size"); }this.size = size; }, "~N"); Clazz.defineMethod (c$, "getSize", function () { return this.size; }); Clazz.defineMethod (c$, "getCompressedSize", function () { return this.csize; }); Clazz.defineMethod (c$, "setCompressedSize", function (csize) { this.csize = csize; }, "~N"); Clazz.defineMethod (c$, "setCrc", function (crc) { if (crc < 0 || crc > 0xFFFFFFFF) { throw new IllegalArgumentException ("invalid entry crc-32"); }this.crc = crc; }, "~N"); Clazz.defineMethod (c$, "getCrc", function () { return this.crc; }); Clazz.defineMethod (c$, "setMethod", function (method) { if (method != 0 && method != 8) { throw new IllegalArgumentException ("invalid compression method"); }this.method = method; }, "~N"); Clazz.defineMethod (c$, "getMethod", function () { return this.method; }); Clazz.defineMethod (c$, "setExtra", function (extra) { if (extra != null && extra.length > 0xFFFF) { throw new IllegalArgumentException ("invalid extra field length"); }this.extra = extra; }, "~A"); Clazz.defineMethod (c$, "getExtra", function () { return this.extra; }); Clazz.defineMethod (c$, "setComment", function (comment) { this.comment = comment; }, "~S"); Clazz.defineMethod (c$, "getComment", function () { return this.comment; }); Clazz.defineMethod (c$, "isDirectory", function () { return this.name.endsWith ("/"); }); Clazz.overrideMethod (c$, "toString", function () { return this.getName (); }); c$.dosToJavaTime = Clazz.defineMethod (c$, "dosToJavaTime", function (dtime) { var d = new java.util.Date ((((dtime >> 25) & 0x7f) + 80), (((dtime >> 21) & 0x0f) - 1), ((dtime >> 16) & 0x1f), ((dtime >> 11) & 0x1f), ((dtime >> 5) & 0x3f), ((dtime << 1) & 0x3e)); return d.getTime (); }, "~N"); c$.javaToDosTime = Clazz.defineMethod (c$, "javaToDosTime", function (time) { var d = new java.util.Date (time); var year = d.getYear () + 1900; if (year < 1980) { return 2162688; }return (year - 1980) << 25 | (d.getMonth () + 1) << 21 | d.getDate () << 16 | d.getHours () << 11 | d.getMinutes () << 5 | d.getSeconds () >> 1; }, "~N"); Clazz.overrideMethod (c$, "hashCode", function () { return this.name.hashCode (); }); Clazz.defineMethod (c$, "clone", function () { try { var e = Clazz.superCall (this, java.util.zip.ZipEntry, "clone", []); if (this.extra != null) { e.extra = Clazz.newByteArray (this.extra.length, 0); System.arraycopy (this.extra, 0, e.extra, 0, this.extra.length); }return e; } catch (e) { if (Clazz.exceptionOf (e, CloneNotSupportedException)) { throw new InternalError (); } else { throw e; } } }); Clazz.defineStatics (c$, "STORED", 0, "DEFLATED", 8); });