public class org.springframework.scheduling.support.CronTrigger implements org.springframework.scheduling.Trigger
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.scheduling.support.CronTrigger
super_class: java.lang.Object
{
private final org.springframework.scheduling.support.CronExpression expression;
descriptor: Lorg/springframework/scheduling/support/CronExpression;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.time.ZoneId zoneId;
descriptor: Ljava/time/ZoneId;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.time.ZoneId.systemDefault:()Ljava/time/ZoneId;
invokespecial org.springframework.scheduling.support.CronTrigger.<init>:(Ljava/lang/String;Ljava/time/ZoneId;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/support/CronTrigger;
0 2 1 expression Ljava/lang/String;
MethodParameters:
Name Flags
expression
public void <init>(java.lang.String, java.util.TimeZone);
descriptor: (Ljava/lang/String;Ljava/util/TimeZone;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual java.util.TimeZone.toZoneId:()Ljava/time/ZoneId;
invokespecial org.springframework.scheduling.support.CronTrigger.<init>:(Ljava/lang/String;Ljava/time/ZoneId;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/support/CronTrigger;
0 2 1 expression Ljava/lang/String;
0 2 2 timeZone Ljava/util/TimeZone;
MethodParameters:
Name Flags
expression
timeZone
public void <init>(java.lang.String, java.time.ZoneId);
descriptor: (Ljava/lang/String;Ljava/time/ZoneId;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Expression must not be empty"
invokestatic org.springframework.util.Assert.hasLength:(Ljava/lang/String;Ljava/lang/String;)V
2: aload 2
ldc "ZoneId must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
3: aload 0
aload 1
invokestatic org.springframework.scheduling.support.CronExpression.parse:(Ljava/lang/String;)Lorg/springframework/scheduling/support/CronExpression;
putfield org.springframework.scheduling.support.CronTrigger.expression:Lorg/springframework/scheduling/support/CronExpression;
4: aload 0
aload 2
putfield org.springframework.scheduling.support.CronTrigger.zoneId:Ljava/time/ZoneId;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/scheduling/support/CronTrigger;
0 6 1 expression Ljava/lang/String;
0 6 2 zoneId Ljava/time/ZoneId;
MethodParameters:
Name Flags
expression
zoneId
public java.lang.String getExpression();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.scheduling.support.CronTrigger.expression:Lorg/springframework/scheduling/support/CronExpression;
invokevirtual org.springframework.scheduling.support.CronExpression.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/support/CronTrigger;
public java.util.Date nextExecutionTime(org.springframework.scheduling.TriggerContext);
descriptor: (Lorg/springframework/scheduling/TriggerContext;)Ljava/util/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.springframework.scheduling.TriggerContext.lastCompletionTime:()Ljava/util/Date;
astore 2
start local 2 1: aload 2
ifnull 6
2: aload 1
invokeinterface org.springframework.scheduling.TriggerContext.lastScheduledExecutionTime:()Ljava/util/Date;
astore 3
start local 3 3: aload 3
ifnull 7
aload 2
aload 3
invokevirtual java.util.Date.before:(Ljava/util/Date;)Z
ifeq 7
4: aload 3
astore 2
end local 3 5: goto 7
6: StackMap locals: java.util.Date
StackMap stack:
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 2
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.Date.toInstant:()Ljava/time/Instant;
aload 0
getfield org.springframework.scheduling.support.CronTrigger.zoneId:Ljava/time/ZoneId;
invokestatic java.time.ZonedDateTime.ofInstant:(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
astore 3
start local 3 8: aload 0
getfield org.springframework.scheduling.support.CronTrigger.expression:Lorg/springframework/scheduling/support/CronExpression;
aload 3
invokevirtual org.springframework.scheduling.support.CronExpression.next:(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
checkcast java.time.ZonedDateTime
astore 4
start local 4 9: aload 4
ifnull 10
aload 4
invokevirtual java.time.ZonedDateTime.toInstant:()Ljava/time/Instant;
invokestatic java.util.Date.from:(Ljava/time/Instant;)Ljava/util/Date;
goto 11
StackMap locals: java.time.ZonedDateTime java.time.ZonedDateTime
StackMap stack:
10: aconst_null
StackMap locals:
StackMap stack: java.util.Date
11: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/scheduling/support/CronTrigger;
0 12 1 triggerContext Lorg/springframework/scheduling/TriggerContext;
1 12 2 date Ljava/util/Date;
3 5 3 scheduled Ljava/util/Date;
8 12 3 dateTime Ljava/time/ZonedDateTime;
9 12 4 next Ljava/time/ZonedDateTime;
MethodParameters:
Name Flags
triggerContext
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpeq 3
aload 1
instanceof org.springframework.scheduling.support.CronTrigger
ifeq 2
1: aload 0
getfield org.springframework.scheduling.support.CronTrigger.expression:Lorg/springframework/scheduling/support/CronExpression;
aload 1
checkcast org.springframework.scheduling.support.CronTrigger
getfield org.springframework.scheduling.support.CronTrigger.expression:Lorg/springframework/scheduling/support/CronExpression;
invokevirtual org.springframework.scheduling.support.CronExpression.equals:(Ljava/lang/Object;)Z
ifne 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/scheduling/support/CronTrigger;
0 4 1 other Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.scheduling.support.CronTrigger.expression:Lorg/springframework/scheduling/support/CronExpression;
invokevirtual org.springframework.scheduling.support.CronExpression.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/support/CronTrigger;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.scheduling.support.CronTrigger.expression:Lorg/springframework/scheduling/support/CronExpression;
invokevirtual org.springframework.scheduling.support.CronExpression.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/support/CronTrigger;
}
SourceFile: "CronTrigger.java"