JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / java / io / InputStream.js
1 Clazz.load (null, "java.io.InputStream", ["java.io.IOException", "java.lang.IndexOutOfBoundsException", "$.NullPointerException"], function () {\r
2 c$ = Clazz.declareType (java.io, "InputStream");\r
3 Clazz.defineMethod (c$, "read", \r
4 function (b, off, len) {\r
5 if (b == null) {\r
6 throw  new NullPointerException ();\r
7\r
8     if (arguments.length == 1) { off = 0; len = b.length; }\r
9 \r
10 if (off < 0 || len < 0 || len > b.length - off) {\r
11 throw  new IndexOutOfBoundsException ();\r
12 } else if (len == 0) {\r
13 return 0;\r
14 }var c = this.readByteAsInt ();\r
15 if (c == -1) {\r
16 return -1;\r
17 }b[off] = c;\r
18 var i = 1;\r
19 try {\r
20 for (; i < len; i++) {\r
21 c = this.readByteAsInt ();\r
22 if (c == -1) {\r
23 break;\r
24 }b[off + i] = c;\r
25 }\r
26 } catch (ee) {\r
27 if (Clazz.exceptionOf (ee, java.io.IOException)) {\r
28 } else {\r
29 throw ee;\r
30 }\r
31 }\r
32 return i;\r
33 }, "~A,~N,~N");\r
34 Clazz.defineMethod (c$, "skip", \r
35 function (n) {\r
36 var remaining = n;\r
37 var nr;\r
38 if (java.io.InputStream.skipBuffer == null) java.io.InputStream.skipBuffer =  Clazz.newByteArray (2048, 0);\r
39 var localSkipBuffer = java.io.InputStream.skipBuffer;\r
40 if (n <= 0) {\r
41 return 0;\r
42 }while (remaining > 0) {\r
43 nr = this.read (localSkipBuffer, 0, Math.min (2048, remaining));\r
44 if (nr < 0) {\r
45 break;\r
46 }remaining -= nr;\r
47 }\r
48 return n - remaining;\r
49 }, "~N");\r
50 Clazz.defineMethod (c$, "available", \r
51 function () {\r
52 return 0;\r
53 });\r
54 Clazz.defineMethod (c$, "close", \r
55 function () {\r
56 });\r
57 Clazz.defineMethod (c$, "mark", \r
58 function (readlimit) {\r
59 }, "~N");\r
60 Clazz.defineMethod (c$, "reset", \r
61 function () {\r
62 throw  new java.io.IOException ("mark/reset not supported");\r
63 });\r
64 Clazz.defineMethod (c$, "markSupported", \r
65 function () {\r
66 return false;\r
67 });\r
68 Clazz.defineMethod (c$, "resetStream", \r
69 function () {\r
70 });\r
71 Clazz.defineStatics (c$,\r
72 "SKIP_BUFFER_SIZE", 2048,\r
73 "skipBuffer", null);\r
74 });\r