class org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder
super_class: java.lang.Object
{
private final org.glassfish.jersey.server.model.ResourceMethod resourceMethod;
descriptor: Lorg/glassfish/jersey/server/model/ResourceMethod;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder> resourceMethodExecutionStatisticsBuilder;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/glassfish/jersey/server/internal/monitoring/ExecutionStatisticsImpl$Builder;>;
private final java.util.concurrent.atomic.AtomicReference<org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder> requestExecutionStatisticsBuilder;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/glassfish/jersey/server/internal/monitoring/ExecutionStatisticsImpl$Builder;>;
private volatile org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl cached;
descriptor: Lorg/glassfish/jersey/server/internal/monitoring/ResourceMethodStatisticsImpl;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
void <init>(org.glassfish.jersey.server.model.ResourceMethod);
descriptor: (Lorg/glassfish/jersey/server/model/ResourceMethod;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.concurrent.atomic.AtomicReference
dup
3: invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.resourceMethodExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
4: aload 0
5: new java.util.concurrent.atomic.AtomicReference
dup
6: invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.requestExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
7: aload 0
aload 1
putfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.resourceMethod:Lorg/glassfish/jersey/server/model/ResourceMethod;
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/glassfish/jersey/server/internal/monitoring/ResourceMethodStatisticsImpl$Builder;
0 9 1 resourceMethod Lorg/glassfish/jersey/server/model/ResourceMethod;
MethodParameters:
Name Flags
resourceMethod final
org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl build();
descriptor: ()Lorg/glassfish/jersey/server/internal/monitoring/ResourceMethodStatisticsImpl;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.cached:Lorg/glassfish/jersey/server/internal/monitoring/ResourceMethodStatisticsImpl;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl
StackMap stack:
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.resourceMethodExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnonnull 5
4: getstatic org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl.EMPTY:Lorg/glassfish/jersey/server/monitoring/ExecutionStatistics;
goto 6
StackMap locals:
StackMap stack:
5: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.resourceMethodExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder
invokevirtual org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.build:()Lorg/glassfish/jersey/server/internal/monitoring/ExecutionStatisticsImpl;
6: StackMap locals:
StackMap stack: org.glassfish.jersey.server.monitoring.ExecutionStatistics
astore 2
start local 2 7: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.requestExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnonnull 9
8: getstatic org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl.EMPTY:Lorg/glassfish/jersey/server/monitoring/ExecutionStatistics;
goto 10
StackMap locals: org.glassfish.jersey.server.monitoring.ExecutionStatistics
StackMap stack:
9: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.requestExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder
invokevirtual org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.build:()Lorg/glassfish/jersey/server/internal/monitoring/ExecutionStatisticsImpl;
10: StackMap locals:
StackMap stack: org.glassfish.jersey.server.monitoring.ExecutionStatistics
astore 3
start local 3 11: new org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl
dup
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.resourceMethod:Lorg/glassfish/jersey/server/model/ResourceMethod;
aload 2
12: aload 3
13: invokespecial org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl.<init>:(Lorg/glassfish/jersey/server/model/ResourceMethod;Lorg/glassfish/jersey/server/monitoring/ExecutionStatistics;Lorg/glassfish/jersey/server/monitoring/ExecutionStatistics;)V
astore 4
start local 4 14: aload 2
invokestatic org.glassfish.jersey.server.internal.monitoring.MonitoringUtils.isCacheable:(Lorg/glassfish/jersey/server/monitoring/ExecutionStatistics;)Z
ifeq 16
15: aload 0
aload 4
putfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.cached:Lorg/glassfish/jersey/server/internal/monitoring/ResourceMethodStatisticsImpl;
16: StackMap locals: org.glassfish.jersey.server.monitoring.ExecutionStatistics org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl
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 17 0 this Lorg/glassfish/jersey/server/internal/monitoring/ResourceMethodStatisticsImpl$Builder;
1 17 1 cachedLocalReference Lorg/glassfish/jersey/server/internal/monitoring/ResourceMethodStatisticsImpl;
7 17 2 methodStats Lorg/glassfish/jersey/server/monitoring/ExecutionStatistics;
11 17 3 requestStats Lorg/glassfish/jersey/server/monitoring/ExecutionStatistics;
14 17 4 stats Lorg/glassfish/jersey/server/internal/monitoring/ResourceMethodStatisticsImpl;
void addResourceMethodExecution(long, long, long, long);
descriptor: (JJJJ)V
flags: (0x0000)
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: aload 0
aconst_null
putfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.cached:Lorg/glassfish/jersey/server/internal/monitoring/ResourceMethodStatisticsImpl;
1: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.resourceMethodExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnonnull 3
2: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.resourceMethodExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
new org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder
dup
invokespecial org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.<init>:()V
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
3: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.resourceMethodExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder
lload 1
lload 3
invokevirtual org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.addExecution:(JJ)V
4: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.requestExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnonnull 6
5: aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.requestExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
new org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder
dup
invokespecial org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.<init>:()V
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder.requestExecutionStatisticsBuilder:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder
lload 5
lload 7
invokevirtual org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder.addExecution:(JJ)V
7: return
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/jersey/server/internal/monitoring/ResourceMethodStatisticsImpl$Builder;
0 8 1 methodStartTime J
0 8 3 methodDuration J
0 8 5 requestStartTime J
0 8 7 requestDuration J
MethodParameters:
Name Flags
methodStartTime final
methodDuration final
requestStartTime final
requestDuration final
}
SourceFile: "ResourceMethodStatisticsImpl.java"
NestHost: org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl
InnerClasses:
Builder = org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl$Builder of org.glassfish.jersey.server.internal.monitoring.ExecutionStatisticsImpl
Builder = org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl$Builder of org.glassfish.jersey.server.internal.monitoring.ResourceMethodStatisticsImpl