1 Clazz.declarePackage ("jssun.util.calendar");
2 Clazz.load (null, "jssun.util.calendar.CalendarSystem", ["java.lang.RuntimeException", "$.StringBuilder", "java.util.HashMap", "swingjs.api.Interface"], function () {
3 c$ = Clazz.declareType (jssun.util.calendar, "CalendarSystem");
4 c$.initNames = Clazz.defineMethod (c$, "initNames",
6 var nameMap = new java.util.HashMap ();
7 var clName = new StringBuilder ();
8 for (var i = 0; i < jssun.util.calendar.CalendarSystem.namePairs.length; i += 2) {
10 var cl = clName.append ("sun.util.calendar.").append (jssun.util.calendar.CalendarSystem.namePairs[i + 1]).toString ();
11 nameMap.put (jssun.util.calendar.CalendarSystem.namePairs[i], cl);
14 if (!jssun.util.calendar.CalendarSystem.initialized) {
15 jssun.util.calendar.CalendarSystem.names = nameMap;
16 jssun.util.calendar.CalendarSystem.calendars = new java.util.HashMap ();
17 jssun.util.calendar.CalendarSystem.initialized = true;
19 c$.getGregorianCalendar = Clazz.defineMethod (c$, "getGregorianCalendar",
21 if (jssun.util.calendar.CalendarSystem.GREGORIAN_INSTANCE == null) jssun.util.calendar.CalendarSystem.GREGORIAN_INSTANCE = swingjs.api.Interface.getInstance ("jssun.util.calendar.Gregorian", false);
22 return jssun.util.calendar.CalendarSystem.GREGORIAN_INSTANCE;
24 c$.forName = Clazz.defineMethod (c$, "forName",
25 function (calendarName) {
26 if ("gregorian".equals (calendarName)) {
27 return jssun.util.calendar.CalendarSystem.GREGORIAN_INSTANCE;
28 }if (!jssun.util.calendar.CalendarSystem.initialized) {
29 jssun.util.calendar.CalendarSystem.initNames ();
30 }var cal = jssun.util.calendar.CalendarSystem.calendars.get (calendarName);
33 }var className = jssun.util.calendar.CalendarSystem.names.get (calendarName);
34 if (className == null) {
37 var cl = Clazz._4Name (className);
38 cal = cl.newInstance ();
40 if (Clazz.exceptionOf (e, Exception)) {
41 throw new RuntimeException ("internal error", e);
48 }var cs = jssun.util.calendar.CalendarSystem.calendars.put (calendarName, cal);
49 return (cs == null) ? cal : cs;
51 Clazz.defineStatics (c$,
55 "PACKAGE_NAME", "sun.util.calendar.",
56 "namePairs", Clazz.newArray (-1, ["gregorian", "Gregorian", "japanese", "LocalGregorianCalendar", "julian", "JulianCalendar"]),
57 "GREGORIAN_INSTANCE", null);