public abstract class sun.util.calendar.CalendarSystem
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.util.calendar.CalendarSystem
super_class: java.lang.Object
{
private static volatile boolean initialized;
descriptor: Z
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static java.util.concurrent.ConcurrentMap<java.lang.String, java.lang.String> names;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/lang/String;>;
private static java.util.concurrent.ConcurrentMap<java.lang.String, sun.util.calendar.CalendarSystem> calendars;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lsun/util/calendar/CalendarSystem;>;
private static final java.lang.String PACKAGE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sun.util.calendar."
private static final java.lang.String[] namePairs;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.util.calendar.Gregorian GREGORIAN_INSTANCE;
descriptor: Lsun/util/calendar/Gregorian;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_0
putstatic sun.util.calendar.CalendarSystem.initialized:Z
1: bipush 6
anewarray java.lang.String
dup
iconst_0
2: ldc "gregorian"
aastore
dup
iconst_1
ldc "Gregorian"
aastore
dup
iconst_2
3: ldc "japanese"
aastore
dup
iconst_3
ldc "LocalGregorianCalendar"
aastore
dup
iconst_4
4: ldc "julian"
aastore
dup
iconst_5
ldc "JulianCalendar"
aastore
5: putstatic sun.util.calendar.CalendarSystem.namePairs:[Ljava/lang/String;
6: new sun.util.calendar.Gregorian
dup
invokespecial sun.util.calendar.Gregorian.<init>:()V
putstatic sun.util.calendar.CalendarSystem.GREGORIAN_INSTANCE:Lsun/util/calendar/Gregorian;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/calendar/CalendarSystem;
private static void initNames();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=0
0: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
astore 0
start local 0 1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 8
4: StackMap locals: java.util.concurrent.ConcurrentMap java.lang.StringBuilder int
StackMap stack:
aload 1
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
5: aload 1
ldc "sun.util.calendar."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic sun.util.calendar.CalendarSystem.namePairs:[Ljava/lang/String;
iload 2
iconst_1
iadd
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 6: aload 0
getstatic sun.util.calendar.CalendarSystem.namePairs:[Ljava/lang/String;
iload 2
aaload
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 7: iinc 2 2
StackMap locals:
StackMap stack:
8: iload 2
getstatic sun.util.calendar.CalendarSystem.namePairs:[Ljava/lang/String;
arraylength
if_icmplt 4
end local 2 9: ldc Lsun/util/calendar/CalendarSystem;
dup
astore 2
monitorenter
10: getstatic sun.util.calendar.CalendarSystem.initialized:Z
ifne 14
11: aload 0
putstatic sun.util.calendar.CalendarSystem.names:Ljava/util/concurrent/ConcurrentMap;
12: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic sun.util.calendar.CalendarSystem.calendars:Ljava/util/concurrent/ConcurrentMap;
13: iconst_1
putstatic sun.util.calendar.CalendarSystem.initialized:Z
14: StackMap locals: java.util.concurrent.ConcurrentMap java.lang.StringBuilder java.lang.Class
StackMap stack:
aload 2
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 2
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 19 0 nameMap Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/lang/String;>;
2 19 1 clName Ljava/lang/StringBuilder;
3 9 2 i I
6 7 3 cl Ljava/lang/String;
Exception table:
from to target type
10 15 16 any
16 17 16 any
public static sun.util.calendar.Gregorian getGregorianCalendar();
descriptor: ()Lsun/util/calendar/Gregorian;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.util.calendar.CalendarSystem.GREGORIAN_INSTANCE:Lsun/util/calendar/Gregorian;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static sun.util.calendar.CalendarSystem forName(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/util/calendar/CalendarSystem;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: ldc "gregorian"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: getstatic sun.util.calendar.CalendarSystem.GREGORIAN_INSTANCE:Lsun/util/calendar/Gregorian;
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.util.calendar.CalendarSystem.initialized:Z
ifne 4
3: invokestatic sun.util.calendar.CalendarSystem.initNames:()V
4: StackMap locals:
StackMap stack:
getstatic sun.util.calendar.CalendarSystem.calendars:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.util.calendar.CalendarSystem
astore 1
start local 1 5: aload 1
ifnull 7
6: aload 1
areturn
7: StackMap locals: sun.util.calendar.CalendarSystem
StackMap stack:
getstatic sun.util.calendar.CalendarSystem.names:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 8: aload 2
ifnonnull 10
9: aconst_null
areturn
10: StackMap locals: java.lang.String
StackMap stack:
aload 2
ldc "LocalGregorianCalendar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 13
11: aload 0
invokestatic sun.util.calendar.LocalGregorianCalendar.getLocalGregorianCalendar:(Ljava/lang/String;)Lsun/util/calendar/LocalGregorianCalendar;
astore 1
12: goto 18
13: StackMap locals:
StackMap stack:
aload 2
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 14: aload 3
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast sun.util.calendar.CalendarSystem
astore 1
end local 3 15: goto 18
StackMap locals:
StackMap stack: java.lang.Exception
16: astore 3
start local 3 17: new java.lang.InternalError
dup
aload 3
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 18: StackMap locals:
StackMap stack:
aload 1
ifnonnull 20
19: aconst_null
areturn
20: StackMap locals:
StackMap stack:
getstatic sun.util.calendar.CalendarSystem.calendars:Ljava/util/concurrent/ConcurrentMap;
aload 0
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.util.calendar.CalendarSystem
astore 3
start local 3 21: aload 3
ifnonnull 22
aload 1
goto 23
StackMap locals: sun.util.calendar.CalendarSystem
StackMap stack:
22: aload 3
StackMap locals:
StackMap stack: sun.util.calendar.CalendarSystem
23: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 calendarName Ljava/lang/String;
5 24 1 cal Lsun/util/calendar/CalendarSystem;
8 24 2 className Ljava/lang/String;
14 15 3 cl Ljava/lang/Class<*>;
17 18 3 e Ljava/lang/Exception;
21 24 3 cs Lsun/util/calendar/CalendarSystem;
Exception table:
from to target type
13 15 16 Class java.lang.Exception
MethodParameters:
Name Flags
calendarName
public static java.util.Properties getCalendarProperties();
descriptor: ()Ljava/util/Properties;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=0
0: aconst_null
astore 0
start local 0 1: new sun.security.action.GetPropertyAction
dup
ldc "java.home"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 3: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc "calendars.properties"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 6: new sun.util.calendar.CalendarSystem$1
dup
aload 2
invokespecial sun.util.calendar.CalendarSystem$1.<init>:(Ljava/lang/String;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.util.Properties
astore 0
end local 2 end local 1 7: goto 15
StackMap locals: java.util.Properties
StackMap stack: java.security.PrivilegedActionException
8: astore 1
start local 1 9: aload 1
invokevirtual java.security.PrivilegedActionException.getCause:()Ljava/lang/Throwable;
astore 2
start local 2 10: aload 2
instanceof java.io.IOException
ifeq 12
11: aload 2
checkcast java.io.IOException
athrow
12: StackMap locals: java.security.PrivilegedActionException java.lang.Throwable
StackMap stack:
aload 2
instanceof java.lang.IllegalArgumentException
ifeq 14
13: aload 2
checkcast java.lang.IllegalArgumentException
athrow
14: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
aload 2
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 15: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 16 0 calendarProps Ljava/util/Properties;
3 7 1 homeDir Ljava/lang/String;
6 7 2 fname Ljava/lang/String;
9 15 1 e Ljava/security/PrivilegedActionException;
10 15 2 cause Ljava/lang/Throwable;
Exception table:
from to target type
1 7 8 Class java.security.PrivilegedActionException
Exceptions:
throws java.io.IOException
public abstract java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract sun.util.calendar.CalendarDate getCalendarDate();
descriptor: ()Lsun/util/calendar/CalendarDate;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract sun.util.calendar.CalendarDate getCalendarDate(long);
descriptor: (J)Lsun/util/calendar/CalendarDate;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
millis
public abstract sun.util.calendar.CalendarDate getCalendarDate(long, sun.util.calendar.CalendarDate);
descriptor: (JLsun/util/calendar/CalendarDate;)Lsun/util/calendar/CalendarDate;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
millis
date
public abstract sun.util.calendar.CalendarDate getCalendarDate(long, java.util.TimeZone);
descriptor: (JLjava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
millis
zone
public abstract sun.util.calendar.CalendarDate newCalendarDate();
descriptor: ()Lsun/util/calendar/CalendarDate;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract sun.util.calendar.CalendarDate newCalendarDate(java.util.TimeZone);
descriptor: (Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
zone
public abstract long getTime(sun.util.calendar.CalendarDate);
descriptor: (Lsun/util/calendar/CalendarDate;)J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
date
public abstract int getYearLength(sun.util.calendar.CalendarDate);
descriptor: (Lsun/util/calendar/CalendarDate;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
date
public abstract int getYearLengthInMonths(sun.util.calendar.CalendarDate);
descriptor: (Lsun/util/calendar/CalendarDate;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
date
public abstract int getMonthLength(sun.util.calendar.CalendarDate);
descriptor: (Lsun/util/calendar/CalendarDate;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
date
public abstract int getWeekLength();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract sun.util.calendar.Era getEra(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/util/calendar/Era;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
eraName
public abstract sun.util.calendar.Era[] getEras();
descriptor: ()[Lsun/util/calendar/Era;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract void setEra(sun.util.calendar.CalendarDate, java.lang.String);
descriptor: (Lsun/util/calendar/CalendarDate;Ljava/lang/String;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
date
eraName
public abstract sun.util.calendar.CalendarDate getNthDayOfWeek(int, int, sun.util.calendar.CalendarDate);
descriptor: (IILsun/util/calendar/CalendarDate;)Lsun/util/calendar/CalendarDate;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
nth
dayOfWeek
date
public abstract sun.util.calendar.CalendarDate setTimeOfDay(sun.util.calendar.CalendarDate, int);
descriptor: (Lsun/util/calendar/CalendarDate;I)Lsun/util/calendar/CalendarDate;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
date
timeOfDay
public abstract boolean validate(sun.util.calendar.CalendarDate);
descriptor: (Lsun/util/calendar/CalendarDate;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
date
public abstract boolean normalize(sun.util.calendar.CalendarDate);
descriptor: (Lsun/util/calendar/CalendarDate;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
date
}
SourceFile: "CalendarSystem.java"
NestMembers:
sun.util.calendar.CalendarSystem$1
InnerClasses:
sun.util.calendar.CalendarSystem$1