1 Clazz.declarePackage ("java.util");
\r
2 Clazz.load (["java.util.Arrays", "$.Collections", "$.HashMap"], "java.util.ResourceBundle", ["java.io.BufferedInputStream", "$.ByteArrayInputStream", "java.lang.ClassNotFoundException", "$.IllegalArgumentException", "$.InternalError", "$.InterruptedException", "$.NullPointerException", "$.StringBuilder", "$.Thread", "java.util.ArrayList", "$.HashSet", "java.util.Locale", "$.MissingResourceException", "swingjs.JSToolkit", "swingjs.api.Interface"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
6 this.expired = false;
\r
8 Clazz.instantialize (this, arguments);
\r
9 }, java.util, "ResourceBundle");
\r
10 Clazz.makeConstructor (c$,
\r
13 Clazz.defineMethod (c$, "getString",
\r
15 return this.getObject (key);
\r
17 Clazz.defineMethod (c$, "getStringArray",
\r
19 return this.getObject (key);
\r
21 Clazz.defineMethod (c$, "getObject",
\r
23 var obj = this.handleGetObject (key);
\r
25 if (this.parent != null) {
\r
26 obj = this.parent.getObject (key);
\r
27 }if (obj == null) throw new java.util.MissingResourceException ("Can't find resource for bundle " + this.getClass ().getName () + ", key " + key, this.getClass ().getName (), key);
\r
30 Clazz.defineMethod (c$, "getLocale",
\r
34 Clazz.defineMethod (c$, "setParent",
\r
36 this.parent = parent;
\r
37 }, "java.util.ResourceBundle");
\r
38 c$.getBundle = Clazz.defineMethod (c$, "getBundle",
\r
39 function (baseName, targetLocale, loader, control) {
\r
42 n = arguments.length;
\r
45 if ((Clazz.instanceOf (targetLocale, java.util.ResourceBundle.Control))) {
\r
46 control = targetLocale;
\r
47 targetLocale = null;
\r
50 if ((Clazz.instanceOf (loader, java.util.ResourceBundle.Control))) {
\r
55 if (targetLocale == null) targetLocale = java.util.Locale.getDefault ();
\r
56 if (control == null) control = java.util.ResourceBundle.Control.getControl (java.util.ResourceBundle.Control.FORMAT_PROPERTIES);
\r
57 return java.util.ResourceBundle.getBundleImpl (baseName, targetLocale, loader, control);
\r
58 }, "~S,~O,~O,java.util.ResourceBundle.Control");
\r
59 c$.getBundleImpl = Clazz.defineMethod (c$, "getBundleImpl",
\r
60 function (baseName, locale, loader, control) {
\r
61 if (control == null) {
\r
62 throw new NullPointerException ("ResourceBundle locale or control is null");
\r
63 }var cacheKey = new java.util.ResourceBundle.CacheKey (baseName, locale, loader);
\r
65 var bundleRef = java.util.ResourceBundle.cacheList.get (cacheKey);
\r
66 if (bundleRef != null) {
\r
69 }if (java.util.ResourceBundle.isValidBundle (bundle)) {
\r
71 }var formats = control.getFormats (baseName);
\r
72 var baseBundle = null;
\r
73 for (var targetLocale = locale; targetLocale != null; targetLocale = control.getFallbackLocale (baseName, targetLocale)) {
\r
74 var candidateLocales = control.getCandidateLocales (baseName, targetLocale);
\r
75 bundle = java.util.ResourceBundle.findBundle (cacheKey, candidateLocales, formats, 0, control, baseBundle);
\r
76 if (java.util.ResourceBundle.isValidBundle (bundle)) {
\r
77 var isBaseBundle = java.util.Locale.ROOT.equals (bundle.locale);
\r
78 if (!isBaseBundle || bundle.locale.equals (locale) || (candidateLocales.size () == 1 && bundle.locale.equals (candidateLocales.get (0)))) {
\r
80 }if (isBaseBundle && baseBundle == null) {
\r
81 baseBundle = bundle;
\r
83 if (bundle == null) {
\r
84 if (baseBundle == null) {
\r
85 java.util.ResourceBundle.throwMissingResourceException (baseName, locale, cacheKey.getCause ());
\r
86 }bundle = baseBundle;
\r
88 }, "~S,java.util.Locale,~O,java.util.ResourceBundle.Control");
\r
89 c$.findBundle = Clazz.defineMethod (c$, "findBundle",
\r
90 function (cacheKey, candidateLocales, formats, index, control, baseBundle) {
\r
91 var targetLocale = candidateLocales.get (index);
\r
93 if (index != candidateLocales.size () - 1) {
\r
94 parent = java.util.ResourceBundle.findBundle (cacheKey, candidateLocales, formats, index + 1, control, baseBundle);
\r
95 } else if (baseBundle != null && java.util.Locale.ROOT.equals (targetLocale)) {
\r
97 }var expiredBundle = false;
\r
98 cacheKey.setLocale (targetLocale);
\r
99 var bundle = java.util.ResourceBundle.findBundleInCache (cacheKey, control);
\r
100 if (java.util.ResourceBundle.isValidBundle (bundle)) {
\r
101 expiredBundle = bundle.expired;
\r
102 if (!expiredBundle) {
\r
103 if (bundle.parent === parent) {
\r
105 }var bundleRef = java.util.ResourceBundle.cacheList.get (cacheKey);
\r
106 if (bundleRef != null && bundleRef === bundle) {
\r
107 java.util.ResourceBundle.cacheList.remove (cacheKey);
\r
108 }}}if (bundle !== java.util.ResourceBundle.NONEXISTENT_BUNDLE) {
\r
109 var constKey = cacheKey.clone ();
\r
112 bundle = java.util.ResourceBundle.loadBundle (cacheKey, formats, control, expiredBundle);
\r
113 if (bundle != null) {
\r
114 if (bundle.parent == null) {
\r
115 bundle.setParent (parent);
\r
116 }bundle.locale = targetLocale;
\r
117 bundle = java.util.ResourceBundle.putBundleInCache (cacheKey, bundle, control);
\r
119 }java.util.ResourceBundle.putBundleInCache (cacheKey, java.util.ResourceBundle.NONEXISTENT_BUNDLE, control);
\r
123 if (Clazz.instanceOf (constKey.getCause (), InterruptedException)) {
\r
124 Thread.currentThread ().interrupt ();
\r
127 }, "java.util.ResourceBundle.CacheKey,java.util.List,java.util.List,~N,java.util.ResourceBundle.Control,java.util.ResourceBundle");
\r
128 c$.loadBundle = Clazz.defineMethod (c$, "loadBundle",
\r
129 function (cacheKey, formats, control, reload) {
\r
130 var targetLocale = cacheKey.getLocale ();
\r
132 var size = formats.size ();
\r
133 for (var i = 0; i < size; i++) {
\r
134 var format = formats.get (i);
\r
136 bundle = control.newBundle (cacheKey.getName (), targetLocale, format, null, reload);
\r
138 if (Clazz.exceptionOf (e$$, LinkageError)) {
\r
141 cacheKey.setCause (error);
\r
143 } else if (Clazz.exceptionOf (e$$, Exception)) {
\r
146 cacheKey.setCause (cause);
\r
152 if (bundle != null) {
\r
153 cacheKey.setFormat (format);
\r
154 bundle.locale = targetLocale;
\r
155 bundle.expired = false;
\r
159 }, "java.util.ResourceBundle.CacheKey,java.util.List,java.util.ResourceBundle.Control,~B");
\r
160 c$.isValidBundle = Clazz.defineMethod (c$, "isValidBundle",
\r
161 function (bundle) {
\r
162 return bundle != null && bundle !== java.util.ResourceBundle.NONEXISTENT_BUNDLE;
\r
163 }, "java.util.ResourceBundle");
\r
164 c$.throwMissingResourceException = Clazz.defineMethod (c$, "throwMissingResourceException",
\r
165 function (baseName, locale, cause) {
\r
166 if (Clazz.instanceOf (cause, java.util.MissingResourceException)) {
\r
168 }throw new java.util.MissingResourceException ("Can't find bundle for base name " + baseName + ", locale " + locale, baseName + "_" + locale, "", cause);
\r
169 }, "~S,java.util.Locale,Throwable");
\r
170 c$.findBundleInCache = Clazz.defineMethod (c$, "findBundleInCache",
\r
171 function (cacheKey, control) {
\r
172 var bundleRef = java.util.ResourceBundle.cacheList.get (cacheKey);
\r
173 if (bundleRef == null) {
\r
175 }var bundle = bundleRef;
\r
177 }, "java.util.ResourceBundle.CacheKey,java.util.ResourceBundle.Control");
\r
178 c$.putBundleInCache = Clazz.defineMethod (c$, "putBundleInCache",
\r
179 function (cacheKey, bundle, control) {
\r
180 var key = cacheKey.clone ();
\r
181 java.util.ResourceBundle.cacheList.put (key, bundle);
\r
183 }, "java.util.ResourceBundle.CacheKey,java.util.ResourceBundle,java.util.ResourceBundle.Control");
\r
184 c$.clearCache = Clazz.defineMethod (c$, "clearCache",
\r
186 java.util.ResourceBundle.cacheList.clear ();
\r
188 Clazz.defineMethod (c$, "containsKey",
\r
191 throw new NullPointerException ();
\r
192 }for (var rb = this; rb != null; rb = rb.parent) {
\r
193 if (rb.handleKeySet ().contains (key)) {
\r
198 Clazz.defineMethod (c$, "keySet",
\r
200 var keys = new java.util.HashSet ();
\r
201 for (var rb = this; rb != null; rb = rb.parent) {
\r
202 keys.addAll (rb.handleKeySet ());
\r
206 Clazz.defineMethod (c$, "handleKeySet",
\r
208 if (this.$keySet == null) {
\r
210 if (this.$keySet == null) {
\r
211 var keys = new java.util.HashSet ();
\r
212 var enumKeys = this.getKeys ();
\r
213 while (enumKeys.hasMoreElements ()) {
\r
214 var key = enumKeys.nextElement ();
\r
215 if (this.handleGetObject (key) != null) {
\r
218 this.$keySet = keys;
\r
219 }}}return this.$keySet;
\r
221 c$.$ResourceBundle$1$ = function () {
\r
222 Clazz.pu$h(self.c$);
\r
223 c$ = Clazz.declareAnonymous (java.util, "ResourceBundle$1", java.util.ResourceBundle);
\r
224 Clazz.defineMethod (c$, "getKeys",
\r
228 Clazz.defineMethod (c$, "handleGetObject",
\r
232 Clazz.overrideMethod (c$, "toString",
\r
234 return "NONEXISTENT_BUNDLE";
\r
238 Clazz.pu$h(self.c$);
\r
239 c$ = Clazz.decorateAsClass (function () {
\r
241 this.locale = null;
\r
242 this.format = null;
\r
244 this.hashCodeCache = 0;
\r
245 Clazz.instantialize (this, arguments);
\r
246 }, java.util.ResourceBundle, "CacheKey", null, Cloneable);
\r
247 Clazz.makeConstructor (c$,
\r
248 function (a, b, c) {
\r
251 if (this.name != null) this.calculateHashCode ();
\r
252 }, "~S,java.util.Locale,~O");
\r
253 Clazz.defineMethod (c$, "getName",
\r
257 Clazz.defineMethod (c$, "getLocale",
\r
259 return this.locale;
\r
261 Clazz.defineMethod (c$, "setLocale",
\r
263 if (!this.locale.equals (a)) {
\r
265 this.calculateHashCode ();
\r
267 }, "java.util.Locale");
\r
268 Clazz.overrideMethod (c$, "equals",
\r
274 if (this.hashCodeCache != b.hashCodeCache) {
\r
276 }if (!this.name.equals (b.name)) {
\r
278 }if (!this.locale.equals (b.locale)) {
\r
282 if (Clazz.exceptionOf (e$$, NullPointerException)) {
\r
286 } else if (Clazz.exceptionOf (e$$, ClassCastException)) {
\r
296 Clazz.overrideMethod (c$, "hashCode",
\r
298 return this.hashCodeCache;
\r
300 Clazz.defineMethod (c$, "calculateHashCode",
\r
302 this.hashCodeCache = this.name.hashCode () << 3;
\r
303 this.hashCodeCache ^= this.locale.hashCode ();
\r
305 Clazz.defineMethod (c$, "clone",
\r
308 var a = Clazz.superCall (this, java.util.ResourceBundle.CacheKey, "clone", []);
\r
312 if (Clazz.exceptionOf (e, CloneNotSupportedException)) {
\r
313 throw new InternalError ();
\r
319 Clazz.defineMethod (c$, "setFormat",
\r
323 Clazz.defineMethod (c$, "setCause",
\r
325 if (this.cause == null) {
\r
328 if (Clazz.instanceOf (this.cause, ClassNotFoundException)) {
\r
331 Clazz.defineMethod (c$, "getCause",
\r
335 Clazz.overrideMethod (c$, "toString",
\r
337 var a = this.locale.toString ();
\r
338 if (a.length == 0) {
\r
339 if (this.locale.getVariant ().length != 0) {
\r
340 a = "__" + this.locale.getVariant ();
\r
343 }}return "CacheKey[" + this.name + ", lc=" + a + "(format=" + this.format + ")]";
\r
346 Clazz.pu$h(self.c$);
\r
347 c$ = Clazz.declareType (java.util.ResourceBundle, "Control");
\r
348 Clazz.makeConstructor (c$,
\r
351 c$.getControl = Clazz.defineMethod (c$, "getControl",
\r
353 if (a.equals (java.util.ResourceBundle.Control.FORMAT_PROPERTIES)) {
\r
354 return java.util.ResourceBundle.SingleFormatControl.PROPERTIES_ONLY;
\r
355 }if (a.equals (java.util.ResourceBundle.Control.FORMAT_CLASS)) {
\r
356 return java.util.ResourceBundle.SingleFormatControl.CLASS_ONLY;
\r
357 }if (a.equals (java.util.ResourceBundle.Control.FORMAT_DEFAULT)) {
\r
358 return java.util.ResourceBundle.Control.INSTANCE;
\r
359 }throw new IllegalArgumentException ();
\r
360 }, "java.util.List");
\r
361 c$.getNoFallbackControl = Clazz.defineMethod (c$, "getNoFallbackControl",
\r
363 if (a.equals (java.util.ResourceBundle.Control.FORMAT_DEFAULT)) {
\r
364 return java.util.ResourceBundle.NoFallbackControl.NO_FALLBACK;
\r
365 }if (a.equals (java.util.ResourceBundle.Control.FORMAT_PROPERTIES)) {
\r
366 return java.util.ResourceBundle.NoFallbackControl.PROPERTIES_ONLY_NO_FALLBACK;
\r
367 }if (a.equals (java.util.ResourceBundle.Control.FORMAT_CLASS)) {
\r
368 return java.util.ResourceBundle.NoFallbackControl.CLASS_ONLY_NO_FALLBACK;
\r
369 }throw new IllegalArgumentException ();
\r
370 }, "java.util.List");
\r
371 Clazz.defineMethod (c$, "getFormats",
\r
374 throw new NullPointerException ();
\r
375 }return java.util.ResourceBundle.Control.FORMAT_DEFAULT;
\r
377 Clazz.defineMethod (c$, "getCandidateLocales",
\r
380 throw new NullPointerException ();
\r
381 }var c = b.getLanguage ();
\r
382 var d = b.getCountry ();
\r
383 var e = b.getVariant ();
\r
384 var f = new java.util.ArrayList (4);
\r
385 if (e.length > 0) {
\r
387 }if (d.length > 0) {
\r
388 f.add ((f.size () == 0) ? b : java.util.Locale.getInstance (c, d, ""));
\r
389 }if (c.length > 0) {
\r
390 f.add ((f.size () == 0) ? b : java.util.Locale.getInstance (c, "", ""));
\r
391 }f.add (java.util.Locale.ROOT);
\r
393 }, "~S,java.util.Locale");
\r
394 Clazz.defineMethod (c$, "getFallbackLocale",
\r
397 throw new NullPointerException ();
\r
398 }var c = java.util.Locale.getDefault ();
\r
399 return b.equals (c) ? null : c;
\r
400 }, "~S,java.util.Locale");
\r
401 Clazz.defineMethod (c$, "newBundle",
\r
402 function (a, b, c, d, e) {
\r
403 var f = this.toBundleName (a, b);
\r
405 if (c.equals ("java.class")) {
\r
406 g = swingjs.api.Interface.getInstance (f, false);
\r
407 } else if (c.equals ("java.properties")) {
\r
408 var h = this.toResourceName0 (f, "properties");
\r
411 }var i = swingjs.JSToolkit.getJavaResource (h);
\r
413 j = (i == null ? null : new java.io.BufferedInputStream ( new java.io.ByteArrayInputStream (i.getBytes ())));
\r
416 g = this.newPropertyBundle (j);
\r
421 throw new IllegalArgumentException ("unknown format: " + c);
\r
423 }, "~S,java.util.Locale,~S,~O,~B");
\r
424 Clazz.defineMethod (c$, "newPropertyBundle",
\r
426 return (swingjs.api.Interface.getInstance ("java.util.PropertyResourceBundle", false)).setStream (a);
\r
427 }, "java.io.InputStream");
\r
428 Clazz.defineMethod (c$, "getTimeToLive",
\r
430 if (a == null || b == null) {
\r
431 throw new NullPointerException ();
\r
433 }, "~S,java.util.Locale");
\r
434 Clazz.defineMethod (c$, "toBundleName",
\r
436 if (b === java.util.Locale.ROOT) {
\r
438 }var c = b.getLanguage ();
\r
439 var d = b.getCountry ();
\r
440 var e = b.getVariant ();
\r
441 if (c === "" && d === "" && e === "") {
\r
443 }var f = new StringBuilder (a);
\r
446 f.append (c).append ('_').append (d).append ('_').append (e);
\r
447 } else if (d !== "") {
\r
448 f.append (c).append ('_').append (d);
\r
451 }return f.toString ();
\r
452 }, "~S,java.util.Locale");
\r
453 Clazz.defineMethod (c$, "toResourceName",
\r
455 var c = new StringBuilder (a.length + 1 + b.length);
\r
456 c.append (a.$replace ('.', '/')).append ('.').append (b);
\r
457 return c.toString ();
\r
459 Clazz.defineMethod (c$, "toResourceName0",
\r
461 if (a.contains ("://")) {
\r
464 return this.toResourceName (a, b);
\r
466 c$.FORMAT_DEFAULT = c$.prototype.FORMAT_DEFAULT = java.util.Collections.unmodifiableList (java.util.Arrays.asList (["java.class", "java.properties"]));
\r
467 c$.FORMAT_CLASS = c$.prototype.FORMAT_CLASS = java.util.Collections.unmodifiableList (java.util.Arrays.asList (["java.class"]));
\r
468 c$.FORMAT_PROPERTIES = c$.prototype.FORMAT_PROPERTIES = java.util.Collections.unmodifiableList (java.util.Arrays.asList (["java.properties"]));
\r
469 Clazz.defineStatics (c$,
\r
470 "TTL_DONT_CACHE", -1,
\r
471 "TTL_NO_EXPIRATION_CONTROL", -2);
\r
472 c$.INSTANCE = c$.prototype.INSTANCE = new java.util.ResourceBundle.Control ();
\r
474 Clazz.pu$h(self.c$);
\r
475 c$ = Clazz.decorateAsClass (function () {
\r
476 this.formats = null;
\r
477 Clazz.instantialize (this, arguments);
\r
478 }, java.util.ResourceBundle, "SingleFormatControl", java.util.ResourceBundle.Control);
\r
479 Clazz.makeConstructor (c$,
\r
481 Clazz.superConstructor (this, java.util.ResourceBundle.SingleFormatControl, []);
\r
483 }, "java.util.List");
\r
484 Clazz.overrideMethod (c$, "getFormats",
\r
487 throw new NullPointerException ();
\r
488 }return this.formats;
\r
490 c$.PROPERTIES_ONLY = c$.prototype.PROPERTIES_ONLY = new java.util.ResourceBundle.SingleFormatControl (java.util.ResourceBundle.Control.FORMAT_PROPERTIES);
\r
491 c$.CLASS_ONLY = c$.prototype.CLASS_ONLY = new java.util.ResourceBundle.SingleFormatControl (java.util.ResourceBundle.Control.FORMAT_CLASS);
\r
493 Clazz.pu$h(self.c$);
\r
494 c$ = Clazz.declareType (java.util.ResourceBundle, "NoFallbackControl", java.util.ResourceBundle.SingleFormatControl);
\r
495 Clazz.overrideMethod (c$, "getFallbackLocale",
\r
497 if (a == null || b == null) {
\r
498 throw new NullPointerException ();
\r
500 }, "~S,java.util.Locale");
\r
501 c$.NO_FALLBACK = c$.prototype.NO_FALLBACK = new java.util.ResourceBundle.NoFallbackControl (java.util.ResourceBundle.Control.FORMAT_DEFAULT);
\r
502 c$.PROPERTIES_ONLY_NO_FALLBACK = c$.prototype.PROPERTIES_ONLY_NO_FALLBACK = new java.util.ResourceBundle.NoFallbackControl (java.util.ResourceBundle.Control.FORMAT_PROPERTIES);
\r
503 c$.CLASS_ONLY_NO_FALLBACK = c$.prototype.CLASS_ONLY_NO_FALLBACK = new java.util.ResourceBundle.NoFallbackControl (java.util.ResourceBundle.Control.FORMAT_CLASS);
\r
505 Clazz.defineStatics (c$,
\r
506 "INITIAL_CACHE_SIZE", 32);
\r
507 c$.NONEXISTENT_BUNDLE = c$.prototype.NONEXISTENT_BUNDLE = ((Clazz.isClassDefined ("java.util.ResourceBundle$1") ? 0 : java.util.ResourceBundle.$ResourceBundle$1$ ()), Clazz.innerTypeInstance (java.util.ResourceBundle$1, this, null));
\r
508 c$.cacheList = c$.prototype.cacheList = new java.util.HashMap (32);
\r