223f506ee0cc6c3978d41ff59ea04609fc85b9ee
[jalviewjs.git] / site / j2s / java / text / SimpleDateFormat.js
1 Clazz.declarePackage ("java.text");\r
2 Clazz.load (["java.text.DateFormat", "java.util.Hashtable", "java.text.DecimalFormat", "java.util.Calendar", "$.TimeZone", "jssun.util.calendar.ZoneInfo"], "java.text.SimpleDateFormat", ["java.lang.IllegalArgumentException", "$.NullPointerException", "$.Number", "$.StringBuffer", "$.StringBuilder", "java.text.MessageFormat", "java.util.Date", "java.text.CharacterIteratorFieldDelegate", "$.DateFormatSymbols", "$.DontCareFieldPosition", "$.NumberFormat", "java.util.GregorianCalendar", "$.Locale", "jssun.util.calendar.CalendarUtils", "jssun.util.resources.LocaleData"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.serialVersionOnStream = 1;\r
5 this.pattern = null;\r
6 this.compiledPattern = null;\r
7 this.zeroDigit = '\0';\r
8 this.formatData = null;\r
9 this.defaultCenturyStart = null;\r
10 this.defaultCenturyStartYear = 0;\r
11 this.locale = null;\r
12 this.$useDateFormatSymbols = false;\r
13 Clazz.instantialize (this, arguments);\r
14 }, java.text, "SimpleDateFormat", java.text.DateFormat);\r
15 Clazz.makeConstructor (c$, \r
16 function () {\r
17 this.construct (3, 3, java.util.Locale.getDefault ());\r
18 });\r
19 Clazz.makeConstructor (c$, \r
20 function (pattern) {\r
21 this.construct (pattern, java.util.Locale.getDefault ());\r
22 }, "~S");\r
23 Clazz.makeConstructor (c$, \r
24 function (pattern, locale) {\r
25 Clazz.superConstructor (this, java.text.SimpleDateFormat, []);\r
26 if (pattern == null || locale == null) {\r
27 throw  new NullPointerException ();\r
28 }this.initializeCalendar (locale);\r
29 this.pattern = pattern;\r
30 this.formatData = java.text.DateFormatSymbols.getInstance (locale);\r
31 this.locale = locale;\r
32 this.initialize (locale);\r
33 }, "~S,java.util.Locale");\r
34 Clazz.makeConstructor (c$, \r
35 function (pattern, formatSymbols) {\r
36 Clazz.superConstructor (this, java.text.SimpleDateFormat, []);\r
37 if (pattern == null || formatSymbols == null) {\r
38 throw  new NullPointerException ();\r
39 }this.pattern = pattern;\r
40 this.formatData = formatSymbols.clone ();\r
41 this.locale = java.util.Locale.getDefault ();\r
42 this.initializeCalendar (this.locale);\r
43 this.initialize (this.locale);\r
44 this.$useDateFormatSymbols = true;\r
45 }, "~S,java.text.DateFormatSymbols");\r
46 Clazz.makeConstructor (c$, \r
47 function (timeStyle, dateStyle, loc) {\r
48 Clazz.superConstructor (this, java.text.SimpleDateFormat, []);\r
49 if (loc == null) {\r
50 throw  new NullPointerException ();\r
51 }this.locale = loc;\r
52 this.initializeCalendar (loc);\r
53 var key = this.getKey ();\r
54 var dateTimePatterns = java.text.SimpleDateFormat.cachedLocaleData.get (key);\r
55 if (dateTimePatterns == null) {\r
56 var r = jssun.util.resources.LocaleData.getDateFormatData (loc);\r
57 if (!this.isGregorianCalendar ()) {\r
58 try {\r
59 dateTimePatterns = r.getStringArray (this.getCalendarName () + ".DateTimePatterns");\r
60 } catch (e) {\r
61 if (Clazz.exceptionOf (e, java.util.MissingResourceException)) {\r
62 } else {\r
63 throw e;\r
64 }\r
65 }\r
66 }if (dateTimePatterns == null) {\r
67 dateTimePatterns = r.getStringArray ("DateTimePatterns");\r
68 }java.text.SimpleDateFormat.cachedLocaleData.put (key, dateTimePatterns);\r
69 }this.formatData = java.text.DateFormatSymbols.getInstance (loc);\r
70 if ((timeStyle >= 0) && (dateStyle >= 0)) {\r
71 var dateTimeArgs =  Clazz.newArray (-1, [dateTimePatterns[timeStyle], dateTimePatterns[dateStyle + 4]]);\r
72 this.pattern = java.text.MessageFormat.format (dateTimePatterns[8], dateTimeArgs);\r
73 } else if (timeStyle >= 0) {\r
74 this.pattern = dateTimePatterns[timeStyle];\r
75 } else if (dateStyle >= 0) {\r
76 this.pattern = dateTimePatterns[dateStyle + 4];\r
77 } else {\r
78 throw  new IllegalArgumentException ("No date or time style specified");\r
79 }this.initialize (loc);\r
80 }, "~N,~N,java.util.Locale");\r
81 Clazz.defineMethod (c$, "initialize", \r
82  function (loc) {\r
83 this.compiledPattern = this.compile (this.pattern);\r
84 this.numberFormat = java.text.SimpleDateFormat.cachedNumberFormatData.get (loc);\r
85 if (this.numberFormat == null) {\r
86 this.numberFormat = java.text.NumberFormat.getIntegerInstance (loc);\r
87 this.numberFormat.setGroupingUsed (false);\r
88 java.text.SimpleDateFormat.cachedNumberFormatData.put (loc, this.numberFormat);\r
89 }this.numberFormat = this.numberFormat.clone ();\r
90 this.initializeDefaultCentury ();\r
91 }, "java.util.Locale");\r
92 Clazz.defineMethod (c$, "initializeCalendar", \r
93  function (loc) {\r
94 if (this.calendar == null) {\r
95 this.calendar = java.util.Calendar.getInstance (java.util.TimeZone.getDefault (), loc);\r
96 }}, "java.util.Locale");\r
97 Clazz.defineMethod (c$, "getKey", \r
98  function () {\r
99 var sb =  new StringBuilder ();\r
100 sb.append (this.getCalendarName ()).append ('.');\r
101 sb.append (this.locale.getLanguage ()).append ('_').append (this.locale.getCountry ()).append ('_').append (this.locale.getVariant ());\r
102 return sb.toString ();\r
103 });\r
104 Clazz.defineMethod (c$, "compile", \r
105  function (pattern) {\r
106 var length = pattern.length;\r
107 var inQuote = false;\r
108 var compiledPattern =  new StringBuilder (length * 2);\r
109 var tmpBuffer = null;\r
110 var count = 0;\r
111 var lastTag = -1;\r
112 for (var i = 0; i < length; i++) {\r
113 var c = pattern.charAt (i);\r
114 if (c == '\'') {\r
115 if ((i + 1) < length) {\r
116 c = pattern.charAt (i + 1);\r
117 if (c == '\'') {\r
118 i++;\r
119 if (count != 0) {\r
120 java.text.SimpleDateFormat.encode (lastTag, count, compiledPattern);\r
121 lastTag = -1;\r
122 count = 0;\r
123 }if (inQuote) {\r
124 tmpBuffer.append (c);\r
125 } else {\r
126 compiledPattern.append (String.fromCharCode (25600 | c.charCodeAt (0)));\r
127 }continue;\r
128 }}if (!inQuote) {\r
129 if (count != 0) {\r
130 java.text.SimpleDateFormat.encode (lastTag, count, compiledPattern);\r
131 lastTag = -1;\r
132 count = 0;\r
133 }if (tmpBuffer == null) {\r
134 tmpBuffer =  new StringBuilder (length);\r
135 } else {\r
136 tmpBuffer.setLength (0);\r
137 }inQuote = true;\r
138 } else {\r
139 var len = tmpBuffer.length ();\r
140 if (len == 1) {\r
141 var ch = tmpBuffer.charAt (0);\r
142 if (ch.charCodeAt (0) < 128) {\r
143 compiledPattern.append (String.fromCharCode (25600 | ch.charCodeAt (0)));\r
144 } else {\r
145 compiledPattern.append (String.fromCharCode (25857));\r
146 compiledPattern.append (ch);\r
147 }} else {\r
148 java.text.SimpleDateFormat.encode (101, len, compiledPattern);\r
149 compiledPattern.append (tmpBuffer);\r
150 }inQuote = false;\r
151 }continue;\r
152 }if (inQuote) {\r
153 tmpBuffer.append (c);\r
154 continue;\r
155 }if (!(c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')) {\r
156 if (count != 0) {\r
157 java.text.SimpleDateFormat.encode (lastTag, count, compiledPattern);\r
158 lastTag = -1;\r
159 count = 0;\r
160 }if (c.charCodeAt (0) < 128) {\r
161 compiledPattern.append (String.fromCharCode (25600 | c.charCodeAt (0)));\r
162 } else {\r
163 var j;\r
164 for (j = i + 1; j < length; j++) {\r
165 var d = pattern.charAt (j);\r
166 if (d == '\'' || (d >= 'a' && d <= 'z' || d >= 'A' && d <= 'Z')) {\r
167 break;\r
168 }}\r
169 compiledPattern.append (String.fromCharCode (25856 | (j - i)));\r
170 for (; i < j; i++) {\r
171 compiledPattern.append (pattern.charAt (i));\r
172 }\r
173 i--;\r
174 }continue;\r
175 }var tag;\r
176 if ((tag = "GyMdkHmsSEDFwWahKzZ".indexOf (c)) == -1) {\r
177 throw  new IllegalArgumentException ("Illegal pattern character \'" + c + "'");\r
178 }if (lastTag == -1 || lastTag == tag) {\r
179 lastTag = tag;\r
180 count++;\r
181 continue;\r
182 }java.text.SimpleDateFormat.encode (lastTag, count, compiledPattern);\r
183 lastTag = tag;\r
184 count = 1;\r
185 }\r
186 if (inQuote) {\r
187 throw  new IllegalArgumentException ("Unterminated quote");\r
188 }if (count != 0) {\r
189 java.text.SimpleDateFormat.encode (lastTag, count, compiledPattern);\r
190 }var len = compiledPattern.length ();\r
191 var r =  Clazz.newCharArray (len, '\0');\r
192 compiledPattern.getChars (0, len, r, 0);\r
193 return r;\r
194 }, "~S");\r
195 c$.encode = Clazz.defineMethod (c$, "encode", \r
196  function (tag, length, buffer) {\r
197 if (length < 255) {\r
198 buffer.append (String.fromCharCode (tag << 8 | length));\r
199 } else {\r
200 buffer.append (String.fromCharCode ((tag << 8) | 0xff));\r
201 buffer.append (String.fromCharCode (length >>> 16));\r
202 buffer.append (String.fromCharCode (length & 0xffff));\r
203 }}, "~N,~N,StringBuilder");\r
204 Clazz.defineMethod (c$, "initializeDefaultCentury", \r
205  function () {\r
206 this.calendar.setTime ( new java.util.Date ());\r
207 this.calendar.add (1, -80);\r
208 this.parseAmbiguousDatesAsAfter (this.calendar.getTime ());\r
209 });\r
210 Clazz.defineMethod (c$, "parseAmbiguousDatesAsAfter", \r
211  function (startDate) {\r
212 this.defaultCenturyStart = startDate;\r
213 this.calendar.setTime (startDate);\r
214 this.defaultCenturyStartYear = this.calendar.get (1);\r
215 }, "java.util.Date");\r
216 Clazz.defineMethod (c$, "set2DigitYearStart", \r
217 function (startDate) {\r
218 this.parseAmbiguousDatesAsAfter (startDate);\r
219 }, "java.util.Date");\r
220 Clazz.defineMethod (c$, "get2DigitYearStart", \r
221 function () {\r
222 return this.defaultCenturyStart;\r
223 });\r
224 Clazz.defineMethod (c$, "format", \r
225 function (date, toAppendTo, pos) {\r
226 pos.beginIndex = pos.endIndex = 0;\r
227 return this.format (date, toAppendTo, pos.getFieldDelegate ());\r
228 }, "java.util.Date,StringBuffer,java.text.FieldPosition");\r
229 Clazz.defineMethod (c$, "format", \r
230  function (date, toAppendTo, delegate) {\r
231 this.calendar.setTime (date);\r
232 var useDateFormatSymbols = this.useDateFormatSymbols ();\r
233 for (var i = 0; i < this.compiledPattern.length; ) {\r
234 var tag = (this.compiledPattern[i]).charCodeAt (0) >>> 8;\r
235 var count = (this.compiledPattern[i++]).charCodeAt (0) & 0xff;\r
236 if (count == 255) {\r
237 count = (this.compiledPattern[i++]).charCodeAt (0) << 16;\r
238 count |= (this.compiledPattern[i++]).charCodeAt (0);\r
239 }switch (tag) {\r
240 case 100:\r
241 toAppendTo.append (String.fromCharCode (count));\r
242 break;\r
243 case 101:\r
244 toAppendTo.append (this.compiledPattern, i, count);\r
245 i += count;\r
246 break;\r
247 default:\r
248 this.subFormat (tag, count, delegate, toAppendTo, useDateFormatSymbols);\r
249 break;\r
250 }\r
251 }\r
252 return toAppendTo;\r
253 }, "java.util.Date,StringBuffer,java.text.Format.FieldDelegate");\r
254 Clazz.overrideMethod (c$, "formatToCharacterIterator", \r
255 function (obj) {\r
256 var sb =  new StringBuffer ();\r
257 var delegate =  new java.text.CharacterIteratorFieldDelegate ();\r
258 if (Clazz.instanceOf (obj, java.util.Date)) {\r
259 this.format (obj, sb, delegate);\r
260 } else if (Clazz.instanceOf (obj, Number)) {\r
261 this.format ( new java.util.Date ((obj).longValue ()), sb, delegate);\r
262 } else if (obj == null) {\r
263 throw  new NullPointerException ("formatToCharacterIterator must be passed non-null object");\r
264 } else {\r
265 throw  new IllegalArgumentException ("Cannot format given Object as a Date");\r
266 }return delegate.getIterator (sb.toString ());\r
267 }, "~O");\r
268 Clazz.defineMethod (c$, "subFormat", \r
269  function (patternCharIndex, count, delegate, buffer, useDateFormatSymbols) {\r
270 var maxIntCount = 2147483647;\r
271 var current = null;\r
272 var beginOffset = buffer.length ();\r
273 var field = java.text.SimpleDateFormat.PATTERN_INDEX_TO_CALENDAR_FIELD[patternCharIndex];\r
274 var value = this.calendar.get (field);\r
275 var style = (count >= 4) ? 2 : 1;\r
276 if (!useDateFormatSymbols) {\r
277 current = this.calendar.getDisplayName (field, style, this.locale);\r
278 }switch (patternCharIndex) {\r
279 case 0:\r
280 if (useDateFormatSymbols) {\r
281 var eras = this.formatData.getEras ();\r
282 if (value < eras.length) current = eras[value];\r
283 }if (current == null) current = "";\r
284 break;\r
285 case 1:\r
286 if (Clazz.instanceOf (this.calendar, java.util.GregorianCalendar)) {\r
287 if (count >= 4) this.zeroPaddingNumber (value, count, maxIntCount, buffer);\r
288  else this.zeroPaddingNumber (value, 2, 2, buffer);\r
289 } else {\r
290 if (current == null) {\r
291 this.zeroPaddingNumber (value, style == 2 ? 1 : count, maxIntCount, buffer);\r
292 }}break;\r
293 case 2:\r
294 if (useDateFormatSymbols) {\r
295 var months;\r
296 if (count >= 4) {\r
297 months = this.formatData.getMonths ();\r
298 current = months[value];\r
299 } else if (count == 3) {\r
300 months = this.formatData.getShortMonths ();\r
301 current = months[value];\r
302 }} else {\r
303 if (count < 3) {\r
304 current = null;\r
305 }}if (current == null) {\r
306 this.zeroPaddingNumber (value + 1, count, maxIntCount, buffer);\r
307 }break;\r
308 case 4:\r
309 if (current == null) {\r
310 if (value == 0) this.zeroPaddingNumber (this.calendar.getMaximum (11) + 1, count, maxIntCount, buffer);\r
311  else this.zeroPaddingNumber (value, count, maxIntCount, buffer);\r
312 }break;\r
313 case 9:\r
314 if (useDateFormatSymbols) {\r
315 var weekdays;\r
316 if (count >= 4) {\r
317 weekdays = this.formatData.getWeekdays ();\r
318 current = weekdays[value];\r
319 } else {\r
320 weekdays = this.formatData.getShortWeekdays ();\r
321 current = weekdays[value];\r
322 }}break;\r
323 case 14:\r
324 if (useDateFormatSymbols) {\r
325 var ampm = this.formatData.getAmPmStrings ();\r
326 current = ampm[value];\r
327 }break;\r
328 case 15:\r
329 if (current == null) {\r
330 if (value == 0) this.zeroPaddingNumber (this.calendar.getLeastMaximum (10) + 1, count, maxIntCount, buffer);\r
331  else this.zeroPaddingNumber (value, count, maxIntCount, buffer);\r
332 }break;\r
333 case 17:\r
334 if (current == null) {\r
335 var id = this.calendar.getTimeZone ().getID ();\r
336 buffer.append (id);\r
337 }break;\r
338 case 18:\r
339 value = Clazz.doubleToInt ((this.calendar.get (15) + this.calendar.get (16)) / 60000);\r
340 var width = 4;\r
341 if (value >= 0) {\r
342 buffer.append ('+');\r
343 } else {\r
344 width++;\r
345 }var num = (Clazz.doubleToInt (value / 60)) * 100 + (value % 60);\r
346 jssun.util.calendar.CalendarUtils.sprintf0d (buffer, num, width);\r
347 break;\r
348 default:\r
349 if (current == null) {\r
350 this.zeroPaddingNumber (value, count, maxIntCount, buffer);\r
351 }break;\r
352 }\r
353 if (current != null) {\r
354 buffer.append (current);\r
355 }var fieldID = java.text.SimpleDateFormat.PATTERN_INDEX_TO_DATE_FORMAT_FIELD[patternCharIndex];\r
356 var f = java.text.SimpleDateFormat.PATTERN_INDEX_TO_DATE_FORMAT_FIELD_ID[patternCharIndex];\r
357 delegate.formatted (fieldID, f, f, beginOffset, buffer.length (), buffer);\r
358 }, "~N,~N,java.text.Format.FieldDelegate,StringBuffer,~B");\r
359 Clazz.defineMethod (c$, "zeroPaddingNumber", \r
360  function (value, minDigits, maxDigits, buffer) {\r
361 try {\r
362 if (this.zeroDigit.charCodeAt (0) == 0) {\r
363 this.zeroDigit = (this.numberFormat).getDecimalFormatSymbols ().getZeroDigit ();\r
364 }if (value >= 0) {\r
365 if (value < 100 && minDigits >= 1 && minDigits <= 2) {\r
366 if (value < 10) {\r
367 if (minDigits == 2) {\r
368 buffer.append (this.zeroDigit);\r
369 }buffer.append (String.fromCharCode (this.zeroDigit.charCodeAt (0) + value));\r
370 } else {\r
371 buffer.append (String.fromCharCode (this.zeroDigit.charCodeAt (0) + Clazz.doubleToInt (value / 10)));\r
372 buffer.append (String.fromCharCode (this.zeroDigit.charCodeAt (0) + value % 10));\r
373 }return;\r
374 } else if (value >= 1000 && value < 10000) {\r
375 if (minDigits == 4) {\r
376 buffer.append (String.fromCharCode (this.zeroDigit.charCodeAt (0) + Clazz.doubleToInt (value / 1000)));\r
377 value %= 1000;\r
378 buffer.append (String.fromCharCode (this.zeroDigit.charCodeAt (0) + Clazz.doubleToInt (value / 100)));\r
379 value %= 100;\r
380 buffer.append (String.fromCharCode (this.zeroDigit.charCodeAt (0) + Clazz.doubleToInt (value / 10)));\r
381 buffer.append (String.fromCharCode (this.zeroDigit.charCodeAt (0) + value % 10));\r
382 return;\r
383 }if (minDigits == 2 && maxDigits == 2) {\r
384 this.zeroPaddingNumber (value % 100, 2, 2, buffer);\r
385 return;\r
386 }}}} catch (e) {\r
387 if (Clazz.exceptionOf (e, Exception)) {\r
388 } else {\r
389 throw e;\r
390 }\r
391 }\r
392 this.numberFormat.setMinimumIntegerDigits (minDigits);\r
393 this.numberFormat.setMaximumIntegerDigits (maxDigits);\r
394 this.numberFormat.format (value, buffer, java.text.DontCareFieldPosition.INSTANCE);\r
395 }, "~N,~N,~N,StringBuffer");\r
396 Clazz.defineMethod (c$, "parse", \r
397 function (text, pos) {\r
398 {\r
399 var i0 = pos.index; pos.index = Math.min(80, text.length()); while\r
400 (pos.index >= i0) { var d = new Date(text.substring(i0,\r
401 pos.index)); var x = d.getMilliseconds(); if (!isNaN(x))\r
402 return d; pos.index--; }\r
403 pos.index = i0;\r
404 return null;\r
405 }}, "~S,java.text.ParsePosition");\r
406 Clazz.defineMethod (c$, "getCalendarName", \r
407  function () {\r
408 return this.calendar.getClass ().getName ();\r
409 });\r
410 Clazz.defineMethod (c$, "useDateFormatSymbols", \r
411  function () {\r
412 if (this.$useDateFormatSymbols) {\r
413 return true;\r
414 }return this.isGregorianCalendar () || this.locale == null;\r
415 });\r
416 Clazz.defineMethod (c$, "isGregorianCalendar", \r
417  function () {\r
418 return "java.util.GregorianCalendar".equals (this.getCalendarName ());\r
419 });\r
420 Clazz.defineMethod (c$, "translatePattern", \r
421  function (pattern, from, to) {\r
422 var result =  new StringBuilder ();\r
423 var inQuote = false;\r
424 for (var i = 0; i < pattern.length; ++i) {\r
425 var c = pattern.charAt (i);\r
426 if (inQuote) {\r
427 if (c == '\'') inQuote = false;\r
428 } else {\r
429 if (c == '\'') inQuote = true;\r
430  else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {\r
431 var ci = from.indexOf (c);\r
432 if (ci == -1) throw  new IllegalArgumentException ("Illegal pattern  character \'" + c + "'");\r
433 c = to.charAt (ci);\r
434 }}result.append (c);\r
435 }\r
436 if (inQuote) throw  new IllegalArgumentException ("Unfinished quote in pattern");\r
437 return result.toString ();\r
438 }, "~S,~S,~S");\r
439 Clazz.defineMethod (c$, "toPattern", \r
440 function () {\r
441 return this.pattern;\r
442 });\r
443 Clazz.defineMethod (c$, "toLocalizedPattern", \r
444 function () {\r
445 return this.translatePattern (this.pattern, "GyMdkHmsSEDFwWahKzZ", this.formatData.getLocalPatternChars ());\r
446 });\r
447 Clazz.defineMethod (c$, "applyPattern", \r
448 function (pattern) {\r
449 this.compiledPattern = this.compile (pattern);\r
450 this.pattern = pattern;\r
451 }, "~S");\r
452 Clazz.defineMethod (c$, "applyLocalizedPattern", \r
453 function (pattern) {\r
454 var p = this.translatePattern (pattern, this.formatData.getLocalPatternChars (), "GyMdkHmsSEDFwWahKzZ");\r
455 this.compiledPattern = this.compile (p);\r
456 this.pattern = p;\r
457 }, "~S");\r
458 Clazz.defineMethod (c$, "getDateFormatSymbols", \r
459 function () {\r
460 return this.formatData.clone ();\r
461 });\r
462 Clazz.defineMethod (c$, "setDateFormatSymbols", \r
463 function (newFormatSymbols) {\r
464 this.formatData = newFormatSymbols.clone ();\r
465 this.$useDateFormatSymbols = true;\r
466 }, "java.text.DateFormatSymbols");\r
467 Clazz.defineMethod (c$, "clone", \r
468 function () {\r
469 var other = Clazz.superCall (this, java.text.SimpleDateFormat, "clone", []);\r
470 other.formatData = this.formatData.clone ();\r
471 return other;\r
472 });\r
473 Clazz.overrideMethod (c$, "hashCode", \r
474 function () {\r
475 return this.pattern.hashCode ();\r
476 });\r
477 Clazz.defineMethod (c$, "equals", \r
478 function (obj) {\r
479 if (!Clazz.superCall (this, java.text.SimpleDateFormat, "equals", [obj])) return false;\r
480 var that = obj;\r
481 return (this.pattern.equals (that.pattern) && this.formatData.equals (that.formatData));\r
482 }, "~O");\r
483 Clazz.defineStatics (c$,\r
484 "currentSerialVersion", 1,\r
485 "TAG_QUOTE_ASCII_CHAR", 100,\r
486 "TAG_QUOTE_CHARS", 101,\r
487 "millisPerHour", 3600000,\r
488 "millisPerMinute", 60000,\r
489 "GMT", "GMT");\r
490 c$.cachedLocaleData = c$.prototype.cachedLocaleData =  new java.util.Hashtable (3);\r
491 c$.cachedNumberFormatData = c$.prototype.cachedNumberFormatData =  new java.util.Hashtable (3);\r
492 Clazz.defineStatics (c$,\r
493 "PATTERN_INDEX_TO_CALENDAR_FIELD",  Clazz.newIntArray (-1, [0, 1, 2, 5, 11, 11, 12, 13, 14, 7, 6, 8, 3, 4, 9, 10, 10, 15, 15]),\r
494 "PATTERN_INDEX_TO_DATE_FORMAT_FIELD",  Clazz.newIntArray (-1, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17]));\r
495 c$.PATTERN_INDEX_TO_DATE_FORMAT_FIELD_ID = c$.prototype.PATTERN_INDEX_TO_DATE_FORMAT_FIELD_ID =  Clazz.newArray (-1, [java.text.DateFormat.Field.ERA, java.text.DateFormat.Field.YEAR, java.text.DateFormat.Field.MONTH, java.text.DateFormat.Field.DAY_OF_MONTH, java.text.DateFormat.Field.HOUR_OF_DAY1, java.text.DateFormat.Field.HOUR_OF_DAY0, java.text.DateFormat.Field.MINUTE, java.text.DateFormat.Field.SECOND, java.text.DateFormat.Field.MILLISECOND, java.text.DateFormat.Field.DAY_OF_WEEK, java.text.DateFormat.Field.DAY_OF_YEAR, java.text.DateFormat.Field.DAY_OF_WEEK_IN_MONTH, java.text.DateFormat.Field.WEEK_OF_YEAR, java.text.DateFormat.Field.WEEK_OF_MONTH, java.text.DateFormat.Field.AM_PM, java.text.DateFormat.Field.HOUR1, java.text.DateFormat.Field.HOUR0, java.text.DateFormat.Field.TIME_ZONE, java.text.DateFormat.Field.TIME_ZONE]);\r
496 });\r