f17152dd7c9777ec438e4e78e61f47b705049822
[jalviewjs.git] / site / j2s / java / text / NumberFormat.js
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
14 function () {\r
15 Clazz.superConstructor (this, java.text.NumberFormat, []);\r
16 });\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
23 } else {\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
31 function (number) {\r
32 return this.format (number,  new StringBuffer (), java.text.DontCareFieldPosition.INSTANCE).toString ();\r
33 }, "~N");\r
34 Clazz.defineMethod (c$, "parse", \r
35 function (source) {\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
40 }return result;\r
41 }, "~S");\r
42 Clazz.defineMethod (c$, "isParseIntegerOnly", \r
43 function () {\r
44 return this.parseIntegerOnly;\r
45 });\r
46 Clazz.defineMethod (c$, "setParseIntegerOnly", \r
47 function (value) {\r
48 this.parseIntegerOnly = value;\r
49 }, "~B");\r
50 c$.getInstance = Clazz.defineMethod (c$, "getInstance", \r
51 function () {\r
52 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 0);\r
53 });\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
59 function () {\r
60 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 0);\r
61 });\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
67 function () {\r
68 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 4);\r
69 });\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
75 function () {\r
76 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 1);\r
77 });\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
83 function () {\r
84 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 2);\r
85 });\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
91 function () {\r
92 return java.text.NumberFormat.getInstance (java.util.Locale.getDefault (), 3);\r
93 });\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
99 function () {\r
100 return this.maximumIntegerDigits * 37 + this.maxFractionDigits;\r
101 });\r
102 Clazz.overrideMethod (c$, "equals", \r
103 function (obj) {\r
104 if (obj == null) {\r
105 return false;\r
106 }if (this === obj) {\r
107 return true;\r
108 }if (this.getClass () !== obj.getClass ()) {\r
109 return false;\r
110 }var other = obj;\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
112 }, "~O");\r
113 Clazz.defineMethod (c$, "clone", \r
114 function () {\r
115 var other = Clazz.superCall (this, java.text.NumberFormat, "clone", []);\r
116 return other;\r
117 });\r
118 Clazz.defineMethod (c$, "isGroupingUsed", \r
119 function () {\r
120 return this.groupingUsed;\r
121 });\r
122 Clazz.defineMethod (c$, "setGroupingUsed", \r
123 function (newValue) {\r
124 this.groupingUsed = newValue;\r
125 }, "~B");\r
126 Clazz.defineMethod (c$, "getMaximumIntegerDigits", \r
127 function () {\r
128 return this.maximumIntegerDigits;\r
129 });\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
135 }}, "~N");\r
136 Clazz.defineMethod (c$, "getMinimumIntegerDigits", \r
137 function () {\r
138 return this.minimumIntegerDigits;\r
139 });\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
145 }}, "~N");\r
146 Clazz.defineMethod (c$, "getMaximumFractionDigits", \r
147 function () {\r
148 return this.maximumFractionDigits;\r
149 });\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
155 }}, "~N");\r
156 Clazz.defineMethod (c$, "getMinimumFractionDigits", \r
157 function () {\r
158 return this.minimumFractionDigits;\r
159 });\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
165 }}, "~N");\r
166 Clazz.defineMethod (c$, "getRoundingMode", \r
167 function () {\r
168 throw  new UnsupportedOperationException ();\r
169 });\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
184 if (choice == 4) {\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
190 }return format;\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
195 function (a) {\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
199 }}, "~S");\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
212 c$ = Clazz.p0p ();\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
218 "NUMBERSTYLE", 0,\r
219 "CURRENCYSTYLE", 1,\r
220 "PERCENTSTYLE", 2,\r
221 "SCIENTIFICSTYLE", 3,\r
222 "INTEGERSTYLE", 4,\r
223 "currentSerialVersion", 1);\r
224 });\r