public class org.springframework.boot.actuate.audit.InMemoryAuditEventRepository implements org.springframework.boot.actuate.audit.AuditEventRepository
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.boot.actuate.audit.InMemoryAuditEventRepository
super_class: java.lang.Object
{
private static final int DEFAULT_CAPACITY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1000
private final java.lang.Object monitor;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.springframework.boot.actuate.audit.AuditEvent[] events;
descriptor: [Lorg/springframework/boot/actuate/audit/AuditEvent;
flags: (0x0002) ACC_PRIVATE
private volatile int tail;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
sipush 1000
invokespecial org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/boot/actuate/audit/InMemoryAuditEventRepository;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
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
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.monitor:Ljava/lang/Object;
2: aload 0
iconst_m1
putfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.tail:I
3: aload 0
iload 1
anewarray org.springframework.boot.actuate.audit.AuditEvent
putfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.events:[Lorg/springframework/boot/actuate/audit/AuditEvent;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/boot/actuate/audit/InMemoryAuditEventRepository;
0 5 1 capacity I
MethodParameters:
Name Flags
capacity
public void setCapacity(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.monitor:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
iload 1
anewarray org.springframework.boot.actuate.audit.AuditEvent
putfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.events:[Lorg/springframework/boot/actuate/audit/AuditEvent;
2: aload 2
monitorexit
3: goto 6
StackMap locals: org.springframework.boot.actuate.audit.InMemoryAuditEventRepository int java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/boot/actuate/audit/InMemoryAuditEventRepository;
0 7 1 capacity I
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
capacity
public void add(org.springframework.boot.actuate.audit.AuditEvent);
descriptor: (Lorg/springframework/boot/actuate/audit/AuditEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "AuditEvent must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.monitor:Ljava/lang/Object;
dup
astore 2
monitorenter
2: aload 0
aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.tail:I
iconst_1
iadd
aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.events:[Lorg/springframework/boot/actuate/audit/AuditEvent;
arraylength
irem
putfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.tail:I
3: aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.events:[Lorg/springframework/boot/actuate/audit/AuditEvent;
aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.tail:I
aload 1
aastore
4: aload 2
monitorexit
5: goto 8
StackMap locals: org.springframework.boot.actuate.audit.InMemoryAuditEventRepository org.springframework.boot.actuate.audit.AuditEvent java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/boot/actuate/audit/InMemoryAuditEventRepository;
0 9 1 event Lorg/springframework/boot/actuate/audit/AuditEvent;
Exception table:
from to target type
2 5 6 any
6 7 6 any
MethodParameters:
Name Flags
event
public java.util.List<org.springframework.boot.actuate.audit.AuditEvent> find(java.lang.String, java.time.Instant, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/time/Instant;Ljava/lang/String;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 4
start local 4 1: aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.monitor:Ljava/lang/Object;
dup
astore 5
monitorenter
2: iconst_0
istore 6
start local 6 3: goto 8
4: StackMap locals: java.util.LinkedList java.lang.Object int
StackMap stack:
aload 0
iload 6
invokevirtual org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.resolveTailEvent:(I)Lorg/springframework/boot/actuate/audit/AuditEvent;
astore 7
start local 7 5: aload 7
ifnull 7
aload 0
aload 1
aload 2
aload 3
aload 7
invokevirtual org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.isMatch:(Ljava/lang/String;Ljava/time/Instant;Ljava/lang/String;Lorg/springframework/boot/actuate/audit/AuditEvent;)Z
ifeq 7
6: aload 4
aload 7
invokevirtual java.util.LinkedList.addFirst:(Ljava/lang/Object;)V
end local 7 7: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.events:[Lorg/springframework/boot/actuate/audit/AuditEvent;
arraylength
if_icmplt 4
end local 6 9: aload 5
monitorexit
10: goto 13
StackMap locals: org.springframework.boot.actuate.audit.InMemoryAuditEventRepository java.lang.String java.time.Instant java.lang.String java.util.LinkedList java.lang.Object
StackMap stack: java.lang.Throwable
11: aload 5
monitorexit
12: athrow
13: StackMap locals:
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 14 0 this Lorg/springframework/boot/actuate/audit/InMemoryAuditEventRepository;
0 14 1 principal Ljava/lang/String;
0 14 2 after Ljava/time/Instant;
0 14 3 type Ljava/lang/String;
1 14 4 events Ljava/util/LinkedList<Lorg/springframework/boot/actuate/audit/AuditEvent;>;
3 9 6 i I
5 7 7 event Lorg/springframework/boot/actuate/audit/AuditEvent;
Exception table:
from to target type
2 10 11 any
11 12 11 any
Signature: (Ljava/lang/String;Ljava/time/Instant;Ljava/lang/String;)Ljava/util/List<Lorg/springframework/boot/actuate/audit/AuditEvent;>;
MethodParameters:
Name Flags
principal
after
type
private boolean isMatch(java.lang.String, java.time.Instant, java.lang.String, org.springframework.boot.actuate.audit.AuditEvent);
descriptor: (Ljava/lang/String;Ljava/time/Instant;Ljava/lang/String;Lorg/springframework/boot/actuate/audit/AuditEvent;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_1
istore 5
start local 5 1: iload 5
ifeq 3
aload 1
ifnull 2
aload 4
invokevirtual org.springframework.boot.actuate.audit.AuditEvent.getPrincipal:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
StackMap locals: int
StackMap stack:
2: iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 5
5: iload 5
ifeq 7
aload 2
ifnull 6
aload 4
invokevirtual org.springframework.boot.actuate.audit.AuditEvent.getTimestamp:()Ljava/time/Instant;
aload 2
invokevirtual java.time.Instant.isAfter:(Ljava/time/Instant;)Z
ifeq 7
StackMap locals:
StackMap stack:
6: iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 5
9: iload 5
ifeq 11
aload 3
ifnull 10
aload 4
invokevirtual org.springframework.boot.actuate.audit.AuditEvent.getType:()Ljava/lang/String;
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
StackMap locals:
StackMap stack:
10: iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 5
13: iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/boot/actuate/audit/InMemoryAuditEventRepository;
0 14 1 principal Ljava/lang/String;
0 14 2 after Ljava/time/Instant;
0 14 3 type Ljava/lang/String;
0 14 4 event Lorg/springframework/boot/actuate/audit/AuditEvent;
1 14 5 match Z
MethodParameters:
Name Flags
principal
after
type
event
private org.springframework.boot.actuate.audit.AuditEvent resolveTailEvent(int);
descriptor: (I)Lorg/springframework/boot/actuate/audit/AuditEvent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.tail:I
aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.events:[Lorg/springframework/boot/actuate/audit/AuditEvent;
arraylength
iadd
iload 1
isub
aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.events:[Lorg/springframework/boot/actuate/audit/AuditEvent;
arraylength
irem
istore 2
start local 2 1: aload 0
getfield org.springframework.boot.actuate.audit.InMemoryAuditEventRepository.events:[Lorg/springframework/boot/actuate/audit/AuditEvent;
iload 2
aaload
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/boot/actuate/audit/InMemoryAuditEventRepository;
0 2 1 offset I
1 2 2 index I
MethodParameters:
Name Flags
offset
}
SourceFile: "InMemoryAuditEventRepository.java"