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
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
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
19 c$.getGregorianCalendar = Clazz.defineMethod (c$, "getGregorianCalendar",
\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
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
33 }var className = jssun.util.calendar.CalendarSystem.names.get (calendarName);
\r
34 if (className == null) {
\r
37 var cl = Clazz._4Name (className);
\r
38 cal = cl.newInstance ();
\r
40 if (Clazz.exceptionOf (e, Exception)) {
\r
41 throw new RuntimeException ("internal error", e);
\r
48 }var cs = jssun.util.calendar.CalendarSystem.calendars.put (calendarName, cal);
\r
49 return (cs == null) ? cal : cs;
\r
51 Clazz.defineStatics (c$,
\r
52 "initialized", false,
\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