public class org.ehcache.impl.internal.store.heap.OnHeapStrategy$TTLStrategy<K, V> implements org.ehcache.impl.internal.store.heap.OnHeapStrategy<K, V>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.ehcache.impl.internal.store.heap.OnHeapStrategy$TTLStrategy
super_class: java.lang.Object
{
private final org.ehcache.core.spi.time.TimeSource timeSource;
descriptor: Lorg/ehcache/core/spi/time/TimeSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.ehcache.expiry.ExpiryPolicy<? super K, ? super V> expiry;
descriptor: Lorg/ehcache/expiry/ExpiryPolicy;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/ehcache/expiry/ExpiryPolicy<-TK;-TV;>;
public void <init>(org.ehcache.expiry.ExpiryPolicy<? super K, ? super V>, org.ehcache.core.spi.time.TimeSource);
descriptor: (Lorg/ehcache/expiry/ExpiryPolicy;Lorg/ehcache/core/spi/time/TimeSource;)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 0
aload 2
putfield org.ehcache.impl.internal.store.heap.OnHeapStrategy$TTLStrategy.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
2: aload 0
aload 1
putfield org.ehcache.impl.internal.store.heap.OnHeapStrategy$TTLStrategy.expiry:Lorg/ehcache/expiry/ExpiryPolicy;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy$TTLStrategy<TK;TV;>;
0 4 1 expiry Lorg/ehcache/expiry/ExpiryPolicy<-TK;-TV;>;
0 4 2 timeSource Lorg/ehcache/core/spi/time/TimeSource;
Signature: (Lorg/ehcache/expiry/ExpiryPolicy<-TK;-TV;>;Lorg/ehcache/core/spi/time/TimeSource;)V
MethodParameters:
Name Flags
expiry
timeSource
public boolean isExpired(org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V>);
descriptor: (Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.ehcache.impl.internal.store.heap.OnHeapStrategy$TTLStrategy.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
invokeinterface org.ehcache.core.spi.time.TimeSource.getTimeMillis:()J
invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.isExpired:(J)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy$TTLStrategy<TK;TV;>;
0 1 1 mapping Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
Signature: (Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;)Z
MethodParameters:
Name Flags
mapping
public void setAccessAndExpiryTimeWhenCallerOutsideLock(K, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V>, );
descriptor: (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
lload 3
aconst_null
invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.accessed:(JLjava/time/Duration;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy$TTLStrategy<TK;TV;>;
0 2 1 key TK;
0 2 2 valueHolder Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
0 2 3 now J
Signature: (TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;J)V
MethodParameters:
Name Flags
key
valueHolder
now
public org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V> setAccessAndExpiryWhenCallerlUnderLock(K, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V>, long, org.ehcache.core.events.StoreEventSink<K, V>);
descriptor: (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;JLorg/ehcache/core/events/StoreEventSink;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 2
lload 3
aconst_null
invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.accessed:(JLjava/time/Duration;)V
1: aload 2
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy$TTLStrategy<TK;TV;>;
0 2 1 key TK;
0 2 2 valueHolder Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
0 2 3 now J
0 2 5 eventSink Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
Signature: (TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;JLorg/ehcache/core/events/StoreEventSink<TK;TV;>;)Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
MethodParameters:
Name Flags
key
valueHolder
now
eventSink
public java.time.Duration getAccessDuration(K, org.ehcache.core.spi.store.Store$ValueHolder<V>);
descriptor: (Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)Ljava/time/Duration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy$TTLStrategy<TK;TV;>;
0 1 1 key TK;
0 1 2 valueHolder Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
Signature: (TK;Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;)Ljava/time/Duration;
MethodParameters:
Name Flags
key
valueHolder
public java.time.Duration getUpdateDuration(K, org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder<V>, V);
descriptor: (Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder;Ljava/lang/Object;)Ljava/time/Duration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.ehcache.impl.internal.store.heap.OnHeapStrategy$TTLStrategy.expiry:Lorg/ehcache/expiry/ExpiryPolicy;
aload 1
aload 2
aload 3
invokeinterface org.ehcache.expiry.ExpiryPolicy.getExpiryForUpdate:(Ljava/lang/Object;Ljava/util/function/Supplier;Ljava/lang/Object;)Ljava/time/Duration;
astore 4
start local 4 1: aload 4
ifnull 7
aload 4
invokevirtual java.time.Duration.isNegative:()Z
ifeq 7
2: getstatic java.time.Duration.ZERO:Ljava/time/Duration;
astore 4
3: goto 7
end local 4 StackMap locals:
StackMap stack: java.lang.RuntimeException
4: astore 5
start local 5 5: getstatic org.ehcache.impl.internal.store.heap.OnHeapStrategy$TTLStrategy.LOG:Lorg/slf4j/Logger;
ldc "Expiry computation caused an exception - Expiry duration will be 0 "
aload 5
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
6: getstatic java.time.Duration.ZERO:Ljava/time/Duration;
astore 4
end local 5 start local 4 7: StackMap locals: java.time.Duration
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy$TTLStrategy<TK;TV;>;
0 8 1 key TK;
0 8 2 oldValue Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
0 8 3 newValue TV;
1 4 4 duration Ljava/time/Duration;
7 8 4 duration Ljava/time/Duration;
5 7 5 re Ljava/lang/RuntimeException;
Exception table:
from to target type
0 3 4 Class java.lang.RuntimeException
Signature: (TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;TV;)Ljava/time/Duration;
MethodParameters:
Name Flags
key
oldValue
newValue
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy<TK;TV;>;
SourceFile: "OnHeapStrategy.java"
NestHost: org.ehcache.impl.internal.store.heap.OnHeapStrategy
InnerClasses:
public abstract ValueHolder = org.ehcache.core.spi.store.Store$ValueHolder of org.ehcache.core.spi.store.Store
public TTLStrategy = org.ehcache.impl.internal.store.heap.OnHeapStrategy$TTLStrategy of org.ehcache.impl.internal.store.heap.OnHeapStrategy