39dc5d5184587f3fcb0b3defe65e4db53d8b44db
[jalviewjs.git] / site / swingjs / j2s / jssun / util / calendar / CalendarSystem.js
1 Clazz.declarePackage ("jssun.util.calendar");\r
2 Clazz.load (null, "jssun.util.calendar.CalendarSystem", ["java.lang.RuntimeException", "$.StringBuilder", "java.util.HashMap", "swingjs.api.Interface"], function () {\r
3 c$ = Clazz.declareType (jssun.util.calendar, "CalendarSystem");\r
4 c$.initNames = Clazz.defineMethod (c$, "initNames", \r
5  function () {\r
6 var nameMap =  new java.util.HashMap ();\r
7 var clName =  new StringBuilder ();\r
8 for (var i = 0; i < jssun.util.calendar.CalendarSystem.namePairs.length; i += 2) {\r
9 clName.setLength (0);\r
10 var cl = clName.append ("sun.util.calendar.").append (jssun.util.calendar.CalendarSystem.namePairs[i + 1]).toString ();\r
11 nameMap.put (jssun.util.calendar.CalendarSystem.namePairs[i], cl);\r
12 }\r
13 {\r
14 if (!jssun.util.calendar.CalendarSystem.initialized) {\r
15 jssun.util.calendar.CalendarSystem.names = nameMap;\r
16 jssun.util.calendar.CalendarSystem.calendars =  new java.util.HashMap ();\r
17 jssun.util.calendar.CalendarSystem.initialized = true;\r
18 }}});\r
19 c$.getGregorianCalendar = Clazz.defineMethod (c$, "getGregorianCalendar", \r
20 function () {\r
21 if (jssun.util.calendar.CalendarSystem.GREGORIAN_INSTANCE == null) jssun.util.calendar.CalendarSystem.GREGORIAN_INSTANCE = swingjs.api.Interface.getInstance ("jssun.util.calendar.Gregorian", false);\r
22 return jssun.util.calendar.CalendarSystem.GREGORIAN_INSTANCE;\r
23 });\r
24 c$.forName = Clazz.defineMethod (c$, "forName", \r
25 function (calendarName) {\r
26 if ("gregorian".equals (calendarName)) {\r
27 return jssun.util.calendar.CalendarSystem.GREGORIAN_INSTANCE;\r
28 }if (!jssun.util.calendar.CalendarSystem.initialized) {\r
29 jssun.util.calendar.CalendarSystem.initNames ();\r
30 }var cal = jssun.util.calendar.CalendarSystem.calendars.get (calendarName);\r
31 if (cal != null) {\r
32 return cal;\r
33 }var className = jssun.util.calendar.CalendarSystem.names.get (calendarName);\r
34 if (className == null) {\r
35 return null;\r
36 }try {\r
37 var cl = Clazz._4Name (className);\r
38 cal = cl.newInstance ();\r
39 } catch (e) {\r
40 if (Clazz.exceptionOf (e, Exception)) {\r
41 throw  new RuntimeException ("internal error", e);\r
42 } else {\r
43 throw e;\r
44 }\r
45 }\r
46 if (cal == null) {\r
47 return null;\r
48 }var cs = jssun.util.calendar.CalendarSystem.calendars.put (calendarName, cal);\r
49 return (cs == null) ? cal : cs;\r
50 }, "~S");\r
51 Clazz.defineStatics (c$,\r
52 "initialized", false,\r
53 "names", null,\r
54 "calendars", null,\r
55 "PACKAGE_NAME", "sun.util.calendar.",\r
56 "namePairs",  Clazz.newArray (-1, ["gregorian", "Gregorian", "japanese", "LocalGregorianCalendar", "julian", "JulianCalendar"]),\r
57 "GREGORIAN_INSTANCE", null);\r
58 });\r