JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / JU / ZipData.js
1 Clazz.declarePackage ("JU");\r
2 Clazz.load (null, "JU.ZipData", ["JU.Rdr", "$.ZipTools"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.isEnabled = true;\r
5 this.buf = null;\r
6 this.pt = 0;\r
7 this.nBytes = 0;\r
8 Clazz.instantialize (this, arguments);\r
9 }, JU, "ZipData");\r
10 Clazz.makeConstructor (c$, \r
11 function (nBytes) {\r
12 this.nBytes = nBytes;\r
13 }, "~N");\r
14 Clazz.defineMethod (c$, "addBytes", \r
15 function (byteBuf, nSectorBytes, nBytesRemaining) {\r
16 if (this.pt == 0) {\r
17 if (!JU.Rdr.isGzipB (byteBuf)) {\r
18 this.isEnabled = false;\r
19 return -1;\r
20 }this.buf =  Clazz.newByteArray (nBytesRemaining, 0);\r
21 }var nToAdd = Math.min (nSectorBytes, nBytesRemaining);\r
22 System.arraycopy (byteBuf, 0, this.buf, this.pt, nToAdd);\r
23 this.pt += nToAdd;\r
24 return nBytesRemaining - nToAdd;\r
25 }, "~A,~N,~N");\r
26 Clazz.defineMethod (c$, "addTo", \r
27 function (jzt, data) {\r
28 data.append (JU.ZipData.getGzippedBytesAsString (jzt, this.buf));\r
29 }, "javajs.api.GenericZipTools,JU.SB");\r
30 c$.getGzippedBytesAsString = Clazz.defineMethod (c$, "getGzippedBytesAsString", \r
31 function (jzt, bytes) {\r
32 try {\r
33 var bis = jzt.getUnGzippedInputStream (bytes);\r
34 var s = JU.ZipTools.getStreamAsString (bis);\r
35 bis.close ();\r
36 return s;\r
37 } catch (e) {\r
38 if (Clazz.exceptionOf (e, Exception)) {\r
39 return "";\r
40 } else {\r
41 throw e;\r
42 }\r
43 }\r
44 }, "javajs.api.GenericZipTools,~A");\r
45 });\r