public class org.ehcache.impl.internal.store.heap.OnHeapStrategy$AllStrategy<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$AllStrategy
super_class: java.lang.Object
{
private final org.ehcache.impl.internal.store.heap.OnHeapStore<K, V> store;
descriptor: Lorg/ehcache/impl/internal/store/heap/OnHeapStore;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
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;>;
private final org.ehcache.core.spi.time.TimeSource timeSource;
descriptor: Lorg/ehcache/core/spi/time/TimeSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.ehcache.impl.internal.store.heap.OnHeapStore<K, V>, org.ehcache.expiry.ExpiryPolicy<? super K, ? super V>, org.ehcache.core.spi.time.TimeSource);
descriptor: (Lorg/ehcache/impl/internal/store/heap/OnHeapStore;Lorg/ehcache/expiry/ExpiryPolicy;Lorg/ehcache/core/spi/time/TimeSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.ehcache.impl.internal.store.heap.OnHeapStrategy$AllStrategy.store:Lorg/ehcache/impl/internal/store/heap/OnHeapStore;
2: aload 0
aload 2
putfield org.ehcache.impl.internal.store.heap.OnHeapStrategy$AllStrategy.expiry:Lorg/ehcache/expiry/ExpiryPolicy;
3: aload 0
aload 3
putfield org.ehcache.impl.internal.store.heap.OnHeapStrategy$AllStrategy.timeSource:Lorg/ehcache/core/spi/time/TimeSource;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy$AllStrategy<TK;TV;>;
0 5 1 store Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;
0 5 2 expiry Lorg/ehcache/expiry/ExpiryPolicy<-TK;-TV;>;
0 5 3 timeSource Lorg/ehcache/core/spi/time/TimeSource;
Signature: (Lorg/ehcache/impl/internal/store/heap/OnHeapStore<TK;TV;>;Lorg/ehcache/expiry/ExpiryPolicy<-TK;-TV;>;Lorg/ehcache/core/spi/time/TimeSource;)V
MethodParameters:
Name Flags
store
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$AllStrategy.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$AllStrategy<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=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStrategy$AllStrategy.getAccessDuration:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)Ljava/time/Duration;
astore 5
start local 5 1: getstatic java.time.Duration.ZERO:Ljava/time/Duration;
aload 5
invokevirtual java.time.Duration.equals:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
getfield org.ehcache.impl.internal.store.heap.OnHeapStrategy$AllStrategy.store:Lorg/ehcache/impl/internal/store/heap/OnHeapStore;
aload 1
aload 2
invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.expireMappingUnderLock:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)V
3: goto 5
4: StackMap locals: java.time.Duration
StackMap stack:
aload 2
lload 3
aload 5
invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.accessed:(JLjava/time/Duration;)V
5: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy$AllStrategy<TK;TV;>;
0 6 1 key TK;
0 6 2 valueHolder Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
0 6 3 now J
1 6 5 duration Ljava/time/Duration;
Signature: (TK;Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;J)V
MethodParameters:
Name Flags
key
valueHolder
now
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=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.ehcache.impl.internal.store.heap.OnHeapStrategy$AllStrategy.expiry:Lorg/ehcache/expiry/ExpiryPolicy;
aload 1
aload 2
invokeinterface org.ehcache.expiry.ExpiryPolicy.getExpiryForAccess:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/time/Duration;
astore 3
start local 3 1: aload 3
ifnull 7
aload 3
invokevirtual java.time.Duration.isNegative:()Z
ifeq 7
2: getstatic java.time.Duration.ZERO:Ljava/time/Duration;
astore 3
3: goto 7
end local 3 StackMap locals:
StackMap stack: java.lang.RuntimeException
4: astore 4
start local 4 5: getstatic org.ehcache.impl.internal.store.heap.OnHeapStrategy$AllStrategy.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
6: getstatic java.time.Duration.ZERO:Ljava/time/Duration;
astore 3
end local 4 start local 3 7: StackMap locals: java.time.Duration
StackMap stack:
aload 3
areturn
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$AllStrategy<TK;TV;>;
0 8 1 key TK;
0 8 2 valueHolder Lorg/ehcache/core/spi/store/Store$ValueHolder<TV;>;
1 4 3 duration Ljava/time/Duration;
7 8 3 duration Ljava/time/Duration;
5 7 4 re Ljava/lang/RuntimeException;
Exception table:
from to target type
0 3 4 Class java.lang.RuntimeException
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$AllStrategy.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$AllStrategy.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$AllStrategy<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
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=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
aload 1
aload 2
invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStrategy$AllStrategy.getAccessDuration:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;)Ljava/time/Duration;
astore 6
start local 6 1: getstatic java.time.Duration.ZERO:Ljava/time/Duration;
aload 6
invokevirtual java.time.Duration.equals:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
getfield org.ehcache.impl.internal.store.heap.OnHeapStrategy$AllStrategy.store:Lorg/ehcache/impl/internal/store/heap/OnHeapStore;
aload 1
aload 2
aload 5
invokevirtual org.ehcache.impl.internal.store.heap.OnHeapStore.fireOnExpirationEvent:(Ljava/lang/Object;Lorg/ehcache/core/spi/store/Store$ValueHolder;Lorg/ehcache/core/events/StoreEventSink;)V
3: aconst_null
areturn
4: StackMap locals: java.time.Duration
StackMap stack:
aload 2
lload 3
aload 6
invokevirtual org.ehcache.impl.internal.store.heap.holders.OnHeapValueHolder.accessed:(JLjava/time/Duration;)V
5: aload 2
areturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/ehcache/impl/internal/store/heap/OnHeapStrategy$AllStrategy<TK;TV;>;
0 6 1 key TK;
0 6 2 valueHolder Lorg/ehcache/impl/internal/store/heap/holders/OnHeapValueHolder<TV;>;
0 6 3 now J
0 6 5 eventSink Lorg/ehcache/core/events/StoreEventSink<TK;TV;>;
1 6 6 duration Ljava/time/Duration;
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
}
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 AllStrategy = org.ehcache.impl.internal.store.heap.OnHeapStrategy$AllStrategy of org.ehcache.impl.internal.store.heap.OnHeapStrategy