1 Clazz.declarePackage ("jssun.misc");
\r
2 Clazz.load (null, "jssun.misc.Resource", ["java.io.EOFException", "java.lang.Thread", "java.util.Arrays"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
5 Clazz.instantialize (this, arguments);
\r
6 }, jssun.misc, "Resource");
\r
7 Clazz.defineMethod (c$, "cachedInputStream",
\r
9 if (this.cis == null) {
\r
10 this.cis = this.getInputStream ();
\r
13 Clazz.defineMethod (c$, "getBytes",
\r
16 var $in = this.cachedInputStream ();
\r
17 var isInterrupted = Thread.interrupted ();
\r
21 len = this.getContentLength ();
\r
24 if (Clazz.exceptionOf (iioe, java.io.InterruptedIOException)) {
\r
25 Thread.interrupted ();
\r
26 isInterrupted = true;
\r
33 b = Clazz.newByteArray (0, 0);
\r
34 if (len == -1) len = 2147483647;
\r
38 if (pos >= b.length) {
\r
39 bytesToRead = Math.min (len - pos, b.length + 1024);
\r
40 if (b.length < pos + bytesToRead) {
\r
41 b = java.util.Arrays.copyOf (b, pos + bytesToRead);
\r
43 bytesToRead = b.length - pos;
\r
46 cc = $in.read (b, pos, bytesToRead);
\r
48 if (Clazz.exceptionOf (iioe, java.io.InterruptedIOException)) {
\r
49 Thread.interrupted ();
\r
50 isInterrupted = true;
\r
56 if (len != 2147483647) {
\r
57 throw new java.io.EOFException ("Detect premature EOF");
\r
59 if (b.length != pos) {
\r
60 b = java.util.Arrays.copyOf (b, pos);
\r
68 if (Clazz.exceptionOf (e$$, java.io.InterruptedIOException)) {
\r
71 isInterrupted = true;
\r
73 } else if (Clazz.exceptionOf (e$$, java.io.IOException)) {
\r
81 if (isInterrupted) {
\r
82 Thread.currentThread ().interrupt ();
\r