1 Clazz.declarePackage ("jssun.net.www");
2 Clazz.load (null, "jssun.net.www.ParseUtil", ["java.io.File", "java.lang.Character", "java.net.URL", "java.util.BitSet"], function () {
3 c$ = Clazz.declareType (jssun.net.www, "ParseUtil");
4 c$.encodePath = Clazz.defineMethod (c$, "encodePath",
6 return jssun.net.www.ParseUtil.encodePath (path, true);
8 c$.encodePath = Clazz.defineMethod (c$, "encodePath",
9 function (path, flag) {
10 var retCC = Clazz.newCharArray (path.length * 2 + 16, '\0');
12 var pathCC = path.toCharArray ();
14 for (var i = 0; i < n; i++) {
16 if ((!flag && c == '/') || (flag && c == java.io.File.separatorChar)) retCC[retLen++] = '/';
18 if (c.charCodeAt (0) <= 0x007F) {
19 if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9') {
21 } else if (jssun.net.www.ParseUtil.encodedInPath.get (c.charCodeAt (0))) retLen = jssun.net.www.ParseUtil.escape (retCC, c, retLen);
22 else retCC[retLen++] = c;
23 } else if (c.charCodeAt (0) > 0x07FF) {
24 retLen = jssun.net.www.ParseUtil.escape (retCC, String.fromCharCode (0xE0 | ((c.charCodeAt (0) >> 12) & 0x0F)), retLen);
25 retLen = jssun.net.www.ParseUtil.escape (retCC, String.fromCharCode (0x80 | ((c.charCodeAt (0) >> 6) & 0x3F)), retLen);
26 retLen = jssun.net.www.ParseUtil.escape (retCC, String.fromCharCode (0x80 | ((c.charCodeAt (0) >> 0) & 0x3F)), retLen);
28 retLen = jssun.net.www.ParseUtil.escape (retCC, String.fromCharCode (0xC0 | ((c.charCodeAt (0) >> 6) & 0x1F)), retLen);
29 retLen = jssun.net.www.ParseUtil.escape (retCC, String.fromCharCode (0x80 | ((c.charCodeAt (0) >> 0) & 0x3F)), retLen);
30 }}if (retLen + 9 > retCC.length) {
31 var newLen = retCC.length * 2 + 16;
34 }var buf = Clazz.newCharArray (newLen, '\0');
35 System.arraycopy (retCC, 0, buf, 0, retLen);
38 return String.instantialize (retCC, 0, retLen);
40 c$.escape = Clazz.defineMethod (c$, "escape",
41 function (cc, c, index) {
43 cc[index++] = Character.forDigit ((c.charCodeAt (0) >> 4) & 0xF, 16);
44 cc[index++] = Character.forDigit (c.charCodeAt (0) & 0xF, 16);
47 c$.fileToEncodedURL = Clazz.defineMethod (c$, "fileToEncodedURL",
49 var path = file.getAbsolutePath ();
50 path = jssun.net.www.ParseUtil.encodePath (path);
51 if (!path.startsWith ("/")) {
53 }if (!path.endsWith ("/") && file.isDirectory ()) {
55 }return new java.net.URL ("file", "", path);
57 Clazz.defineStatics (c$,
58 "encodedInPath", null);
60 jssun.net.www.ParseUtil.encodedInPath = new java.util.BitSet (256);
61 jssun.net.www.ParseUtil.encodedInPath.set (61);
62 jssun.net.www.ParseUtil.encodedInPath.set (59);
63 jssun.net.www.ParseUtil.encodedInPath.set (63);
64 jssun.net.www.ParseUtil.encodedInPath.set (47);
65 jssun.net.www.ParseUtil.encodedInPath.set (35);
66 jssun.net.www.ParseUtil.encodedInPath.set (32);
67 jssun.net.www.ParseUtil.encodedInPath.set (60);
68 jssun.net.www.ParseUtil.encodedInPath.set (62);
69 jssun.net.www.ParseUtil.encodedInPath.set (37);
70 jssun.net.www.ParseUtil.encodedInPath.set (34);
71 jssun.net.www.ParseUtil.encodedInPath.set (123);
72 jssun.net.www.ParseUtil.encodedInPath.set (125);
73 jssun.net.www.ParseUtil.encodedInPath.set (124);
74 jssun.net.www.ParseUtil.encodedInPath.set (92);
75 jssun.net.www.ParseUtil.encodedInPath.set (94);
76 jssun.net.www.ParseUtil.encodedInPath.set (91);
77 jssun.net.www.ParseUtil.encodedInPath.set (93);
78 jssun.net.www.ParseUtil.encodedInPath.set (96);
79 for (var i = 0; i < 32; i++) jssun.net.www.ParseUtil.encodedInPath.set (i);
81 jssun.net.www.ParseUtil.encodedInPath.set (127);