ed949a22646cc38f0e4b8b72060a8b48a2b90064
[jalviewjs.git] / site / swingjs / j2s / jssun / util / calendar / CalendarSystem.js
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", 
5  function () {
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) {
9 clName.setLength (0);
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);
12 }
13 {
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;
18 }}});
19 c$.getGregorianCalendar = Clazz.defineMethod (c$, "getGregorianCalendar", 
20 function () {
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;
23 });
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);
31 if (cal != null) {
32 return cal;
33 }var className = jssun.util.calendar.CalendarSystem.names.get (calendarName);
34 if (className == null) {
35 return null;
36 }try {
37 var cl = Clazz._4Name (className);
38 cal = cl.newInstance ();
39 } catch (e) {
40 if (Clazz.exceptionOf (e, Exception)) {
41 throw  new RuntimeException ("internal error", e);
42 } else {
43 throw e;
44 }
45 }
46 if (cal == null) {
47 return null;
48 }var cs = jssun.util.calendar.CalendarSystem.calendars.put (calendarName, cal);
49 return (cs == null) ? cal : cs;
50 }, "~S");
51 Clazz.defineStatics (c$,
52 "initialized", false,
53 "names", null,
54 "calendars", null,
55 "PACKAGE_NAME", "sun.util.calendar.",
56 "namePairs",  Clazz.newArray (-1, ["gregorian", "Gregorian", "japanese", "LocalGregorianCalendar", "julian", "JulianCalendar"]),
57 "GREGORIAN_INSTANCE", null);
58 });