1 Clazz.declarePackage ("java.text");
\r
2 Clazz.load (["java.text.Format", "java.util.HashMap", "$.Hashtable"], "java.text.NumberFormat", ["java.lang.Byte", "$.IllegalArgumentException", "$.Long", "$.Number", "$.Short", "$.StringBuffer", "$.UnsupportedOperationException", "java.text.DecimalFormatSymbols", "$.DontCareFieldPosition", "$.ParseException", "$.ParsePosition", "java.util.Locale", "jssun.util.resources.LocaleData"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.groupingUsed = true;
\r
5 this.maxFractionDigits = 3;
\r
6 this.parseIntegerOnly = false;
\r
7 this.maximumIntegerDigits = 40;
\r
8 this.minimumIntegerDigits = 1;
\r
9 this.maximumFractionDigits = 3;
\r
10 this.minimumFractionDigits = 0;
\r
11 Clazz.instantialize (this, arguments);
\r
12 }, java.text, "NumberFormat", java.text.Format);
\r
13 Clazz.makeConstructor (c$,
\r
15 Clazz.superConstructor (this, java.text.NumberFormat, []);
\r
17 Clazz.defineMethod (c$, "format",
\r
18 function (number, toAppendTo, pos) {
\r
19 if (Clazz.instanceOf (number, Long) || Clazz.instanceOf (number, Integer) || Clazz.instanceOf (number, Short) || Clazz.instanceOf (number, Byte)) {
\r
20 return this.format ((number).longValue (), toAppendTo, pos);
\r
21 } else if (Clazz.instanceOf (number, Number)) {
\r
22 return this.format ((number).doubleValue (), toAppendTo, pos);
\r
24 throw new IllegalArgumentException ("Cannot format given Object as a Number");
\r
25 }}, "~O,StringBuffer,java.text.FieldPosition");
\r
26 Clazz.defineMethod (c$, "parseObject",
\r
27 function (source, pos) {
\r
28 return this.parse (source, pos);
\r
29 }, "~S,java.text.ParsePosition");
\r
30 Clazz.defineMethod (c$, "format",
\r
32 return this.format (number, new StringBuffer (), java.text.DontCareFieldPosition.INSTANCE).toString ();
\r
34 Clazz.defineMethod (c$, "parse",
\r
36 var parsePosition = new java.text.ParsePosition (0);
\r
37 var result = this.parse (source, parsePosition);
\r
38 if (parsePosition.index == 0) {
\r
39 throw new java.text.ParseException ("Unparseable number: \"" + source + "\"", parsePosition.errorIndex);
\r
42 Clazz.defineMethod (c$, "isParseIntegerOnly",
\r
44 return this.parseIntegerOnly;
\r
46 Clazz.defineMethod (c$, "setParseIntegerOnly",
\r
48 this.parseIntegerOnly = value;
\r
50 c$.getInstance = Clazz.defineMethod (c$, "getInstance",
\r
52 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 0);
\r
54 c$.getInstance = Clazz.defineMethod (c$, "getInstance",
\r
55 function (inLocale) {
\r
56 return java.text.NumberFormat.getInstance (inLocale, 0);
\r
57 }, "java.util.Locale");
\r
58 c$.getNumberInstance = Clazz.defineMethod (c$, "getNumberInstance",
\r
60 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 0);
\r
62 c$.getNumberInstance = Clazz.defineMethod (c$, "getNumberInstance",
\r
63 function (inLocale) {
\r
64 return java.text.NumberFormat.getInstance (inLocale, 0);
\r
65 }, "java.util.Locale");
\r
66 c$.getIntegerInstance = Clazz.defineMethod (c$, "getIntegerInstance",
\r
68 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 4);
\r
70 c$.getIntegerInstance = Clazz.defineMethod (c$, "getIntegerInstance",
\r
71 function (inLocale) {
\r
72 return java.text.NumberFormat.getInstance (inLocale, 4);
\r
73 }, "java.util.Locale");
\r
74 c$.getCurrencyInstance = Clazz.defineMethod (c$, "getCurrencyInstance",
\r
76 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 1);
\r
78 c$.getCurrencyInstance = Clazz.defineMethod (c$, "getCurrencyInstance",
\r
79 function (inLocale) {
\r
80 return java.text.NumberFormat.getInstance (inLocale, 1);
\r
81 }, "java.util.Locale");
\r
82 c$.getPercentInstance = Clazz.defineMethod (c$, "getPercentInstance",
\r
84 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 2);
\r
86 c$.getPercentInstance = Clazz.defineMethod (c$, "getPercentInstance",
\r
87 function (inLocale) {
\r
88 return java.text.NumberFormat.getInstance (inLocale, 2);
\r
89 }, "java.util.Locale");
\r
90 c$.getScientificInstance = Clazz.defineMethod (c$, "getScientificInstance",
\r
92 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 3);
\r
94 c$.getScientificInstance = Clazz.defineMethod (c$, "getScientificInstance",
\r
95 function (inLocale) {
\r
96 return java.text.NumberFormat.getInstance (inLocale, 3);
\r
97 }, "java.util.Locale");
\r
98 Clazz.overrideMethod (c$, "hashCode",
\r
100 return this.maximumIntegerDigits * 37 + this.maxFractionDigits;
\r
102 Clazz.overrideMethod (c$, "equals",
\r
106 }if (this === obj) {
\r
108 }if (this.getClass () !== obj.getClass ()) {
\r
111 return (this.maximumIntegerDigits == other.maximumIntegerDigits && this.minimumIntegerDigits == other.minimumIntegerDigits && this.maximumFractionDigits == other.maximumFractionDigits && this.minimumFractionDigits == other.minimumFractionDigits && this.groupingUsed == other.groupingUsed && this.parseIntegerOnly == other.parseIntegerOnly);
\r
113 Clazz.defineMethod (c$, "clone",
\r
115 var other = Clazz.superCall (this, java.text.NumberFormat, "clone", []);
\r
118 Clazz.defineMethod (c$, "isGroupingUsed",
\r
120 return this.groupingUsed;
\r
122 Clazz.defineMethod (c$, "setGroupingUsed",
\r
123 function (newValue) {
\r
124 this.groupingUsed = newValue;
\r
126 Clazz.defineMethod (c$, "getMaximumIntegerDigits",
\r
128 return this.maximumIntegerDigits;
\r
130 Clazz.defineMethod (c$, "setMaximumIntegerDigits",
\r
131 function (newValue) {
\r
132 this.maximumIntegerDigits = Math.max (0, newValue);
\r
133 if (this.minimumIntegerDigits > this.maximumIntegerDigits) {
\r
134 this.minimumIntegerDigits = this.maximumIntegerDigits;
\r
136 Clazz.defineMethod (c$, "getMinimumIntegerDigits",
\r
138 return this.minimumIntegerDigits;
\r
140 Clazz.defineMethod (c$, "setMinimumIntegerDigits",
\r
141 function (newValue) {
\r
142 this.minimumIntegerDigits = Math.max (0, newValue);
\r
143 if (this.minimumIntegerDigits > this.maximumIntegerDigits) {
\r
144 this.maximumIntegerDigits = this.minimumIntegerDigits;
\r
146 Clazz.defineMethod (c$, "getMaximumFractionDigits",
\r
148 return this.maximumFractionDigits;
\r
150 Clazz.defineMethod (c$, "setMaximumFractionDigits",
\r
151 function (newValue) {
\r
152 this.maximumFractionDigits = Math.max (0, newValue);
\r
153 if (this.maximumFractionDigits < this.minimumFractionDigits) {
\r
154 this.minimumFractionDigits = this.maximumFractionDigits;
\r
156 Clazz.defineMethod (c$, "getMinimumFractionDigits",
\r
158 return this.minimumFractionDigits;
\r
160 Clazz.defineMethod (c$, "setMinimumFractionDigits",
\r
161 function (newValue) {
\r
162 this.minimumFractionDigits = Math.max (0, newValue);
\r
163 if (this.maximumFractionDigits < this.minimumFractionDigits) {
\r
164 this.maximumFractionDigits = this.minimumFractionDigits;
\r
166 Clazz.defineMethod (c$, "getRoundingMode",
\r
168 throw new UnsupportedOperationException ();
\r
170 Clazz.defineMethod (c$, "setRoundingMode",
\r
171 function (roundingMode) {
\r
172 throw new UnsupportedOperationException ();
\r
173 }, "java.math.RoundingMode");
\r
174 c$.getInstance = Clazz.defineMethod (c$, "getInstance",
\r
175 function (desiredLocale, choice) {
\r
176 var numberPatterns = java.text.NumberFormat.cachedLocaleData.get (desiredLocale);
\r
177 if (numberPatterns == null) {
\r
178 var resource = jssun.util.resources.LocaleData.getNumberFormatData (desiredLocale);
\r
179 numberPatterns = resource.getStringArray ("NumberPatterns");
\r
180 java.text.NumberFormat.cachedLocaleData.put (desiredLocale, numberPatterns);
\r
181 }var symbols = java.text.DecimalFormatSymbols.getInstance (desiredLocale);
\r
182 var entry = (choice == 4) ? 0 : choice;
\r
183 var format = new java.text.DecimalFormat (numberPatterns[entry], symbols);
\r
185 format.setMaximumFractionDigits (0);
\r
186 format.setDecimalSeparatorAlwaysShown (false);
\r
187 format.setParseIntegerOnly (true);
\r
188 } else if (choice == 1) {
\r
189 format.adjustForCurrencyDefaultFractionDigits ();
\r
191 }, "java.util.Locale,~N");
\r
192 Clazz.pu$h(self.c$);
\r
193 c$ = Clazz.declareType (java.text.NumberFormat, "Field", java.text.Format.Field);
\r
194 Clazz.makeConstructor (c$,
\r
196 Clazz.superConstructor (this, java.text.NumberFormat.Field, [a]);
\r
197 if (this.getClass () === java.text.NumberFormat.Field) {
\r
198 java.text.NumberFormat.Field.$instanceMap.put (a, this);
\r
200 c$.$instanceMap = c$.prototype.$instanceMap = new java.util.HashMap (11);
\r
201 c$.INTEGER = c$.prototype.INTEGER = new java.text.NumberFormat.Field ("integer");
\r
202 c$.FRACTION = c$.prototype.FRACTION = new java.text.NumberFormat.Field ("fraction");
\r
203 c$.EXPONENT = c$.prototype.EXPONENT = new java.text.NumberFormat.Field ("exponent");
\r
204 c$.DECIMAL_SEPARATOR = c$.prototype.DECIMAL_SEPARATOR = new java.text.NumberFormat.Field ("decimal separator");
\r
205 c$.SIGN = c$.prototype.SIGN = new java.text.NumberFormat.Field ("sign");
\r
206 c$.GROUPING_SEPARATOR = c$.prototype.GROUPING_SEPARATOR = new java.text.NumberFormat.Field ("grouping separator");
\r
207 c$.EXPONENT_SYMBOL = c$.prototype.EXPONENT_SYMBOL = new java.text.NumberFormat.Field ("exponent symbol");
\r
208 c$.PERCENT = c$.prototype.PERCENT = new java.text.NumberFormat.Field ("percent");
\r
209 c$.PERMILLE = c$.prototype.PERMILLE = new java.text.NumberFormat.Field ("per mille");
\r
210 c$.CURRENCY = c$.prototype.CURRENCY = new java.text.NumberFormat.Field ("currency");
\r
211 c$.EXPONENT_SIGN = c$.prototype.EXPONENT_SIGN = new java.text.NumberFormat.Field ("exponent sign");
\r
213 Clazz.defineStatics (c$,
\r
214 "INTEGER_FIELD", 0,
\r
215 "FRACTION_FIELD", 1);
\r
216 c$.cachedLocaleData = c$.prototype.cachedLocaleData = new java.util.Hashtable (3);
\r
217 Clazz.defineStatics (c$,
\r
219 "CURRENCYSTYLE", 1,
\r
221 "SCIENTIFICSTYLE", 3,
\r
223 "currentSerialVersion", 1);
\r