public class org.ehcache.core.config.ExpiryUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.ehcache.core.config.ExpiryUtils
super_class: java.lang.Object
{
private static final org.slf4j.Logger LOG;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$java$util$concurrent$TimeUnit;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/ehcache/core/config/ExpiryUtils;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.ehcache.core.config.ExpiryUtils.LOG:Lorg/slf4j/Logger;
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 Lorg/ehcache/core/config/ExpiryUtils;
public static boolean isExpiryDurationInfinite(java.time.Duration);
descriptor: (Ljava/time/Duration;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.ehcache.expiry.ExpiryPolicy.INFINITE:Ljava/time/Duration;
invokevirtual java.time.Duration.compareTo:(Ljava/time/Duration;)I
iflt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 duration Ljava/time/Duration;
MethodParameters:
Name Flags
duration
public static <K, V> org.ehcache.expiry.Expiry<K, V> convertToExpiry(org.ehcache.expiry.ExpiryPolicy<K, V>);
descriptor: (Lorg/ehcache/expiry/ExpiryPolicy;)Lorg/ehcache/expiry/Expiry;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getstatic org.ehcache.expiry.ExpiryPolicy.NO_EXPIRY:Lorg/ehcache/expiry/ExpiryPolicy;
if_acmpne 3
1: invokestatic org.ehcache.expiry.Expirations.noExpiration:()Lorg/ehcache/expiry/Expiry;
astore 1
start local 1 2: aload 1
areturn
end local 1 3: StackMap locals:
StackMap stack:
new org.ehcache.core.config.ExpiryUtils$1
dup
aload 0
invokespecial org.ehcache.core.config.ExpiryUtils$1.<init>:(Lorg/ehcache/expiry/ExpiryPolicy;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 expiryPolicy Lorg/ehcache/expiry/ExpiryPolicy<TK;TV;>;
2 3 1 expiry Lorg/ehcache/expiry/Expiry<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/ehcache/expiry/ExpiryPolicy<TK;TV;>;)Lorg/ehcache/expiry/Expiry<TK;TV;>;
MethodParameters:
Name Flags
expiryPolicy
private static org.ehcache.expiry.Duration convertDuration(java.time.Duration);
descriptor: (Ljava/time/Duration;)Lorg/ehcache/expiry/Duration;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.time.Duration.isNegative:()Z
ifeq 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Ehcache duration cannot be negative and so does not accept negative java.time.Duration: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.time.Duration.isZero:()Z
ifeq 6
5: getstatic org.ehcache.expiry.Duration.ZERO:Lorg/ehcache/expiry/Duration;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.time.Duration.getNano:()I
i2l
lstore 1
start local 1 7: lload 1
lconst_0
lcmp
ifne 9
8: aload 0
invokevirtual java.time.Duration.getSeconds:()J
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic org.ehcache.expiry.Duration.of:(JLjava/util/concurrent/TimeUnit;)Lorg/ehcache/expiry/Duration;
areturn
9: StackMap locals: long
StackMap stack:
aload 0
invokevirtual java.time.Duration.getSeconds:()J
lstore 3
start local 3 10: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
lload 3
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lstore 5
start local 5 11: lload 5
ldc 9223372036854775807
lcmp
ifeq 13
ldc 9223372036854775807
lload 5
lsub
lload 1
lcmp
ifle 13
12: aload 0
invokevirtual java.time.Duration.toNanos:()J
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic org.ehcache.expiry.Duration.of:(JLjava/util/concurrent/TimeUnit;)Lorg/ehcache/expiry/Duration;
areturn
13: StackMap locals: long long
StackMap stack:
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
lload 3
invokevirtual java.util.concurrent.TimeUnit.toMicros:(J)J
lstore 7
start local 7 14: lload 7
ldc 9223372036854775807
lcmp
ifeq 16
ldc 9223372036854775807
lload 7
lsub
lload 1
ldc 1000
ldiv
lcmp
ifle 16
15: lload 7
lload 1
ldc 1000
ldiv
ladd
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic org.ehcache.expiry.Duration.of:(JLjava/util/concurrent/TimeUnit;)Lorg/ehcache/expiry/Duration;
areturn
16: StackMap locals: long
StackMap stack:
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
lload 3
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 9
start local 9 17: lload 9
ldc 9223372036854775807
lcmp
ifeq 19
ldc 9223372036854775807
lload 9
lsub
lload 1
ldc 1000000
ldiv
lcmp
ifle 19
18: aload 0
invokevirtual java.time.Duration.toMillis:()J
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic org.ehcache.expiry.Duration.of:(JLjava/util/concurrent/TimeUnit;)Lorg/ehcache/expiry/Duration;
areturn
end local 9 end local 7 19: StackMap locals:
StackMap stack:
lload 3
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic org.ehcache.expiry.Duration.of:(JLjava/util/concurrent/TimeUnit;)Lorg/ehcache/expiry/Duration;
areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 duration Ljava/time/Duration;
7 20 1 nanos J
10 20 3 seconds J
11 20 5 secondsInNanos J
14 19 7 secondsInMicros J
17 19 9 secondsInMillis J
MethodParameters:
Name Flags
duration
public static <K, V> org.ehcache.expiry.ExpiryPolicy<K, V> convertToExpiryPolicy(org.ehcache.expiry.Expiry<K, V>);
descriptor: (Lorg/ehcache/expiry/Expiry;)Lorg/ehcache/expiry/ExpiryPolicy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.ehcache.expiry.Expirations.noExpiration:()Lorg/ehcache/expiry/Expiry;
if_acmpne 3
1: getstatic org.ehcache.expiry.ExpiryPolicy.NO_EXPIRY:Lorg/ehcache/expiry/ExpiryPolicy;
astore 1
start local 1 2: aload 1
areturn
end local 1 3: StackMap locals:
StackMap stack:
new org.ehcache.core.config.ExpiryUtils$2
dup
aload 0
invokespecial org.ehcache.core.config.ExpiryUtils$2.<init>:(Lorg/ehcache/expiry/Expiry;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 expiry Lorg/ehcache/expiry/Expiry<TK;TV;>;
2 3 1 expiryPolicy Lorg/ehcache/expiry/ExpiryPolicy<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/ehcache/expiry/Expiry<TK;TV;>;)Lorg/ehcache/expiry/ExpiryPolicy<TK;TV;>;
MethodParameters:
Name Flags
expiry
public static java.time.temporal.TemporalUnit jucTimeUnitToTemporalUnit(java.util.concurrent.TimeUnit);
descriptor: (Ljava/util/concurrent/TimeUnit;)Ljava/time/temporal/TemporalUnit;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: invokestatic org.ehcache.core.config.ExpiryUtils.$SWITCH_TABLE$java$util$concurrent$TimeUnit:()[I
aload 0
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
default: 8
}
1: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.NANOS:Ljava/time/temporal/ChronoUnit;
areturn
2: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.MICROS:Ljava/time/temporal/ChronoUnit;
areturn
3: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.MILLIS:Ljava/time/temporal/ChronoUnit;
areturn
4: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
areturn
5: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.MINUTES:Ljava/time/temporal/ChronoUnit;
areturn
6: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.HOURS:Ljava/time/temporal/ChronoUnit;
areturn
7: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.DAYS:Ljava/time/temporal/ChronoUnit;
areturn
8: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unkown TimeUnit: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 timeUnit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
timeUnit
public static long getExpirationMillis(long, java.time.Duration);
descriptor: (JLjava/time/Duration;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 2 0: aload 2
lload 0
invokevirtual java.time.Duration.plusMillis:(J)Ljava/time/Duration;
invokevirtual java.time.Duration.toMillis:()J
1: lreturn
2: StackMap locals:
StackMap stack: java.lang.ArithmeticException
pop
3: ldc 9223372036854775807
lreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 now J
0 4 2 duration Ljava/time/Duration;
Exception table:
from to target type
0 1 2 Class java.lang.ArithmeticException
MethodParameters:
Name Flags
now
duration
public static <K, V> java.time.Duration getExpiryForCreation(K, V, org.ehcache.expiry.ExpiryPolicy<? super K, ? super V>);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lorg/ehcache/expiry/ExpiryPolicy;)Ljava/time/Duration;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
invokeinterface org.ehcache.expiry.ExpiryPolicy.getExpiryForCreation:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/time/Duration;
astore 3
start local 3 1: goto 5
end local 3 StackMap locals:
StackMap stack: java.lang.RuntimeException
2: astore 4
start local 4 3: getstatic org.ehcache.core.config.ExpiryUtils.LOG:Lorg/slf4j/Logger;
ldc "Expiry computation caused an exception - Expiry duration will be 0"
aload 4
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
4: getstatic java.time.Duration.ZERO:Ljava/time/Duration;
areturn
end local 4 start local 3 5: StackMap locals: java.time.Duration
StackMap stack:
aload 3
ifnonnull 8
6: getstatic org.ehcache.core.config.ExpiryUtils.LOG:Lorg/slf4j/Logger;
ldc "Expiry for creation can't be null - Expiry duration will be 0"
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
7: getstatic java.time.Duration.ZERO:Ljava/time/Duration;
areturn
8: StackMap locals:
StackMap stack:
getstatic java.time.Duration.ZERO:Ljava/time/Duration;
aload 3
invokevirtual java.time.Duration.compareTo:(Ljava/time/Duration;)I
iflt 10
9: getstatic java.time.Duration.ZERO:Ljava/time/Duration;
areturn
10: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 key TK;
0 11 1 value TV;
0 11 2 expiry Lorg/ehcache/expiry/ExpiryPolicy<-TK;-TV;>;
1 2 3 duration Ljava/time/Duration;
5 11 3 duration Ljava/time/Duration;
3 5 4 e Ljava/lang/RuntimeException;
Exception table:
from to target type
0 1 2 Class java.lang.RuntimeException
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(TK;TV;Lorg/ehcache/expiry/ExpiryPolicy<-TK;-TV;>;)Ljava/time/Duration;
MethodParameters:
Name Flags
key
value
expiry
static int[] $SWITCH_TABLE$java$util$concurrent$TimeUnit();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.ehcache.core.config.ExpiryUtils.$SWITCH_TABLE$java$util$concurrent$TimeUnit:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic java.util.concurrent.TimeUnit.values:()[Ljava/util/concurrent/TimeUnit;
arraylength
newarray 10
astore 0
2: aload 0
getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
bipush 7
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
bipush 6
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iconst_5
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iconst_1
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iconst_4
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic org.ehcache.core.config.ExpiryUtils.$SWITCH_TABLE$java$util$concurrent$TimeUnit:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
}
SourceFile: "ExpiryUtils.java"
NestMembers:
org.ehcache.core.config.ExpiryUtils$1 org.ehcache.core.config.ExpiryUtils$2
InnerClasses:
org.ehcache.core.config.ExpiryUtils$1
org.ehcache.core.config.ExpiryUtils$2