1 Clazz.declarePackage ("jssun.misc");
2 Clazz.load (null, "jssun.misc.MetaIndex", ["java.io.BufferedReader", "$.File", "$.FileReader", "java.lang.IllegalArgumentException", "java.util.ArrayList", "$.HashMap"], function () {
3 c$ = Clazz.decorateAsClass (function () {
5 this.isClassOnlyJar = false;
6 Clazz.instantialize (this, arguments);
7 }, jssun.misc, "MetaIndex");
8 c$.forJar = Clazz.defineMethod (c$, "forJar",
10 return jssun.misc.MetaIndex.getJarMap ().get (jar);
12 c$.registerDirectory = Clazz.defineMethod (c$, "registerDirectory",
14 var indexFile = new java.io.File (dir, "meta-index");
15 if (indexFile.exists ()) {
17 var reader = new java.io.BufferedReader ( new java.io.FileReader (indexFile));
19 var curJarName = null;
20 var isCurJarContainClassOnly = false;
21 var contents = new java.util.ArrayList ();
22 var map = jssun.misc.MetaIndex.getJarMap ();
23 dir = dir.getCanonicalFile ();
24 line = reader.readLine ();
25 if (line == null || !line.equals ("% VERSION 2")) {
28 }while ((line = reader.readLine ()) != null) {
29 switch (line.charAt (0)) {
34 if ((curJarName != null) && (contents.size () > 0)) {
35 map.put ( new java.io.File (dir, curJarName), new jssun.misc.MetaIndex (contents, isCurJarContainClassOnly));
37 }curJarName = line.substring (2);
38 if (line.charAt (0) == '!') {
39 isCurJarContainClassOnly = true;
40 } else if (isCurJarContainClassOnly) {
41 isCurJarContainClassOnly = false;
50 if ((curJarName != null) && (contents.size () > 0)) {
51 map.put ( new java.io.File (dir, curJarName), new jssun.misc.MetaIndex (contents, isCurJarContainClassOnly));
54 if (Clazz.exceptionOf (e, java.io.IOException)) {
60 Clazz.defineMethod (c$, "mayContain",
62 if (this.isClassOnlyJar && !entry.endsWith (".class")) {
64 }var conts = this.contents;
65 for (var i = 0; i < conts.length; i++) {
66 if (entry.startsWith (conts[i])) {
71 Clazz.makeConstructor (c$,
72 function (entries, isClassOnlyJar) {
73 if (entries == null) {
74 throw new IllegalArgumentException ();
75 }this.contents = entries.toArray ( new Array (0));
76 this.isClassOnlyJar = isClassOnlyJar;
77 }, "java.util.List,~B");
78 c$.getJarMap = Clazz.defineMethod (c$, "getJarMap",
80 if (jssun.misc.MetaIndex.jarMap == null) {
82 if (jssun.misc.MetaIndex.jarMap == null) {
83 jssun.misc.MetaIndex.jarMap = new java.util.HashMap ();
84 }}}return jssun.misc.MetaIndex.jarMap;
86 Clazz.defineStatics (c$,