1 Clazz.declarePackage ("java.util");
\r
2 Clazz.load (["java.util.HashMap"], "java.util.Locale", ["java.lang.InternalError", "$.NullPointerException", "$.StringBuilder"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.language = null;
\r
7 this.hashCodeValue = 0;
\r
8 Clazz.instantialize (this, arguments);
\r
9 }, java.util, "Locale", null, [Cloneable, java.io.Serializable]);
\r
10 Clazz.makeConstructor (c$,
\r
11 function (language, country, variant) {
\r
12 this.language = language.intern ();
\r
13 this.country = country.intern ();
\r
14 this.variant = variant.intern ();
\r
16 Clazz.makeConstructor (c$,
\r
17 function (language, country) {
\r
18 this.construct (language, country, "");
\r
20 Clazz.makeConstructor (c$,
\r
21 function (language) {
\r
22 this.construct (language, "", "");
\r
24 Clazz.makeConstructor (c$,
\r
25 function (language, country, flag) {
\r
26 this.language = language;
\r
27 this.country = country;
\r
30 c$.createSingleton = Clazz.defineMethod (c$, "createSingleton",
\r
31 function (key, language, country) {
\r
32 var locale = new java.util.Locale (language, country, false);
\r
33 java.util.Locale.cache.put (key, locale);
\r
36 c$.getInstance = Clazz.defineMethod (c$, "getInstance",
\r
37 function (language, country, variant) {
\r
38 if (language == null || country == null || variant == null) {
\r
39 throw new NullPointerException ();
\r
40 }var sb = new StringBuilder ();
\r
41 sb.append (language).append ('_').append (country).append ('_').append (variant);
\r
42 var key = sb.toString ();
\r
43 var locale = java.util.Locale.cache.get (key);
\r
44 if (locale == null) {
\r
45 locale = new java.util.Locale (language, country, variant);
\r
46 var l = java.util.Locale.cache.put (key, locale);
\r
51 c$.getDefault = Clazz.defineMethod (c$, "getDefault",
\r
53 if (java.util.Locale.defaultLocale == null) {
\r
60 java.util.Locale.defaultLocale = java.util.Locale.getInstance (language, country, variant);
\r
61 }return java.util.Locale.defaultLocale;
\r
63 c$.setDefault = Clazz.defineMethod (c$, "setDefault",
\r
64 function (newLocale) {
\r
65 if (newLocale == null) throw new NullPointerException ("Can't set default locale to NULL");
\r
66 java.util.Locale.defaultLocale = newLocale;
\r
67 }, "java.util.Locale");
\r
68 Clazz.defineMethod (c$, "getLanguage",
\r
70 return this.language;
\r
72 Clazz.defineMethod (c$, "getCountry",
\r
74 return this.country;
\r
76 Clazz.defineMethod (c$, "getVariant",
\r
78 return this.variant;
\r
80 Clazz.overrideMethod (c$, "toString",
\r
82 var l = this.language.length != 0;
\r
83 var c = this.country.length != 0;
\r
84 var v = this.variant.length != 0;
\r
85 var result = new StringBuilder (this.language);
\r
86 if (c || (l && v)) {
\r
87 result.append ('_').append (this.country);
\r
88 }if (v && (l || c)) {
\r
89 result.append ('_').append (this.variant);
\r
90 }return result.toString ();
\r
92 Clazz.defineMethod (c$, "getDisplayLanguage",
\r
94 return this.getDisplayLanguage (java.util.Locale.getDefault ());
\r
96 Clazz.defineMethod (c$, "getDisplayLanguage",
\r
97 function (inLocale) {
\r
98 return this.getDisplayString (this.language, inLocale, 0);
\r
99 }, "java.util.Locale");
\r
100 Clazz.defineMethod (c$, "getDisplayCountry",
\r
102 return this.getDisplayCountry (java.util.Locale.getDefault ());
\r
104 Clazz.defineMethod (c$, "getDisplayCountry",
\r
105 function (inLocale) {
\r
106 return this.getDisplayString (this.country, inLocale, 1);
\r
107 }, "java.util.Locale");
\r
108 Clazz.defineMethod (c$, "getDisplayString",
\r
109 function (code, inLocale, type) {
\r
110 if (code.length == 0) {
\r
112 }if (inLocale == null) {
\r
113 throw new NullPointerException ();
\r
114 }return inLocale.toString ();
\r
115 }, "~S,java.util.Locale,~N");
\r
116 Clazz.defineMethod (c$, "getDisplayVariant",
\r
118 return this.getDisplayVariant (java.util.Locale.getDefault ());
\r
120 Clazz.defineMethod (c$, "getDisplayVariant",
\r
121 function (inLocale) {
\r
122 if (this.variant.length == 0) return "";
\r
123 return this.variant;
\r
124 }, "java.util.Locale");
\r
125 Clazz.defineMethod (c$, "getDisplayName",
\r
127 return this.getDisplayName (java.util.Locale.getDefault ());
\r
129 Clazz.defineMethod (c$, "getDisplayName",
\r
130 function (inLocale) {
\r
131 return inLocale.toString ();
\r
132 }, "java.util.Locale");
\r
133 Clazz.defineMethod (c$, "clone",
\r
136 var that = Clazz.superCall (this, java.util.Locale, "clone", []);
\r
139 if (Clazz.exceptionOf (e, CloneNotSupportedException)) {
\r
140 throw new InternalError ();
\r
146 Clazz.overrideMethod (c$, "hashCode",
\r
148 var hc = this.hashCodeValue;
\r
150 hc = (this.language.hashCode () << 8) ^ this.country.hashCode () ^ (this.variant.hashCode () << 4);
\r
151 this.hashCodeValue = hc;
\r
154 Clazz.overrideMethod (c$, "equals",
\r
156 if (this === obj) return true;
\r
157 if (!(Clazz.instanceOf (obj, java.util.Locale))) return false;
\r
159 return this.language === other.language && this.country === other.country && this.variant === other.variant;
\r
161 c$.cache = c$.prototype.cache = new java.util.HashMap (32);
\r
162 c$.ENGLISH = c$.prototype.ENGLISH = java.util.Locale.createSingleton ("en__", "en", "");
\r
163 c$.ROOT = c$.prototype.ROOT = java.util.Locale.createSingleton ("__", "", "");
\r
164 Clazz.defineStatics (c$,
\r
165 "DISPLAY_LANGUAGE", 0,
\r
166 "DISPLAY_COUNTRY", 1,
\r
167 "defaultLocale", null);
\r