class org.springframework.data.mapping.model.PersistentEntityIsNewStrategy implements org.springframework.data.support.IsNewStrategy
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.data.mapping.model.PersistentEntityIsNewStrategy
super_class: java.lang.Object
{
private final java.util.function.Function<java.lang.Object, java.lang.Object> valueLookup;
descriptor: Ljava/util/function/Function;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Function<Ljava/lang/Object;Ljava/lang/Object;>;
private final java.lang.Class<?> valueType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private void <init>(org.springframework.data.mapping.PersistentEntity<?, ?>, );
descriptor: (Lorg/springframework/data/mapping/PersistentEntity;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "PersistentEntity must not be null!"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
invokeinterface org.springframework.data.mapping.PersistentEntity.hasVersionProperty:()Z
ifeq 4
iload 2
ifne 4
3: aload 1
invokedynamic apply(Lorg/springframework/data/mapping/PersistentEntity;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.lambda$0(Lorg/springframework/data/mapping/PersistentEntity;Ljava/lang/Object;)Ljava/lang/Object; (6)
(Ljava/lang/Object;)Ljava/lang/Object;
goto 5
4: StackMap locals: org.springframework.data.mapping.model.PersistentEntityIsNewStrategy org.springframework.data.mapping.PersistentEntity int
StackMap stack: org.springframework.data.mapping.model.PersistentEntityIsNewStrategy
aload 1
invokedynamic apply(Lorg/springframework/data/mapping/PersistentEntity;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.lambda$1(Lorg/springframework/data/mapping/PersistentEntity;Ljava/lang/Object;)Ljava/lang/Object; (6)
(Ljava/lang/Object;)Ljava/lang/Object;
5: StackMap locals: org.springframework.data.mapping.model.PersistentEntityIsNewStrategy org.springframework.data.mapping.PersistentEntity int
StackMap stack: org.springframework.data.mapping.model.PersistentEntityIsNewStrategy java.util.function.Function
putfield org.springframework.data.mapping.model.PersistentEntityIsNewStrategy.valueLookup:Ljava/util/function/Function;
6: aload 0
aload 1
invokeinterface org.springframework.data.mapping.PersistentEntity.hasVersionProperty:()Z
ifeq 8
iload 2
ifne 8
7: aload 1
invokeinterface org.springframework.data.mapping.PersistentEntity.getRequiredVersionProperty:()Lorg/springframework/data/mapping/PersistentProperty;
checkcast org.springframework.data.mapping.PersistentProperty
invokeinterface org.springframework.data.mapping.PersistentProperty.getType:()Ljava/lang/Class;
goto 10
8: StackMap locals:
StackMap stack: org.springframework.data.mapping.model.PersistentEntityIsNewStrategy
aload 1
invokeinterface org.springframework.data.mapping.PersistentEntity.hasIdProperty:()Z
ifeq 9
aload 1
invokeinterface org.springframework.data.mapping.PersistentEntity.getRequiredIdProperty:()Lorg/springframework/data/mapping/PersistentProperty;
checkcast org.springframework.data.mapping.PersistentProperty
invokeinterface org.springframework.data.mapping.PersistentProperty.getType:()Ljava/lang/Class;
goto 10
StackMap locals:
StackMap stack: org.springframework.data.mapping.model.PersistentEntityIsNewStrategy
9: aconst_null
10: StackMap locals: org.springframework.data.mapping.model.PersistentEntityIsNewStrategy org.springframework.data.mapping.PersistentEntity int
StackMap stack: org.springframework.data.mapping.model.PersistentEntityIsNewStrategy java.lang.Class
putfield org.springframework.data.mapping.model.PersistentEntityIsNewStrategy.valueType:Ljava/lang/Class;
11: aload 0
getfield org.springframework.data.mapping.model.PersistentEntityIsNewStrategy.valueType:Ljava/lang/Class;
astore 3
start local 3 12: aload 3
ifnull 17
aload 3
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 17
13: ldc Ljava/lang/Number;
aload 3
invokestatic org.springframework.util.ClassUtils.isAssignable:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 17
14: new java.lang.IllegalArgumentException
dup
15: ldc "Only numeric primitives are supported as identifier / version field types! Got: %s."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.springframework.data.mapping.model.PersistentEntityIsNewStrategy.valueType:Ljava/lang/Class;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
16: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals: java.lang.Class
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/springframework/data/mapping/model/PersistentEntityIsNewStrategy;
0 18 1 entity Lorg/springframework/data/mapping/PersistentEntity<**>;
0 18 2 idOnly Z
12 18 3 type Ljava/lang/Class<*>;
Signature: (Lorg/springframework/data/mapping/PersistentEntity<**>;Z)V
MethodParameters:
Name Flags
entity
idOnly
public static org.springframework.data.mapping.model.PersistentEntityIsNewStrategy forIdOnly(org.springframework.data.mapping.PersistentEntity<?, ?>);
descriptor: (Lorg/springframework/data/mapping/PersistentEntity;)Lorg/springframework/data/mapping/model/PersistentEntityIsNewStrategy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.springframework.data.mapping.model.PersistentEntityIsNewStrategy
dup
aload 0
iconst_1
invokespecial org.springframework.data.mapping.model.PersistentEntityIsNewStrategy.<init>:(Lorg/springframework/data/mapping/PersistentEntity;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 entity Lorg/springframework/data/mapping/PersistentEntity<**>;
Signature: (Lorg/springframework/data/mapping/PersistentEntity<**>;)Lorg/springframework/data/mapping/model/PersistentEntityIsNewStrategy;
MethodParameters:
Name Flags
entity
public static org.springframework.data.mapping.model.PersistentEntityIsNewStrategy of(org.springframework.data.mapping.PersistentEntity<?, ?>);
descriptor: (Lorg/springframework/data/mapping/PersistentEntity;)Lorg/springframework/data/mapping/model/PersistentEntityIsNewStrategy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.springframework.data.mapping.model.PersistentEntityIsNewStrategy
dup
aload 0
iconst_0
invokespecial org.springframework.data.mapping.model.PersistentEntityIsNewStrategy.<init>:(Lorg/springframework/data/mapping/PersistentEntity;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 entity Lorg/springframework/data/mapping/PersistentEntity<**>;
Signature: (Lorg/springframework/data/mapping/PersistentEntity<**>;)Lorg/springframework/data/mapping/model/PersistentEntityIsNewStrategy;
MethodParameters:
Name Flags
entity
public boolean isNew(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.data.mapping.model.PersistentEntityIsNewStrategy.valueLookup:Ljava/util/function/Function;
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: iconst_1
ireturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield org.springframework.data.mapping.model.PersistentEntityIsNewStrategy.valueType:Ljava/lang/Class;
ifnull 6
aload 0
getfield org.springframework.data.mapping.model.PersistentEntityIsNewStrategy.valueType:Ljava/lang/Class;
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 6
4: aload 2
ifnonnull 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
ldc Ljava/lang/Number;
aload 2
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 9
7: aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
lconst_0
lcmp
ifne 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
10: ldc "Could not determine whether %s is new! Unsupported identifier or version property!"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
11: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/data/mapping/model/PersistentEntityIsNewStrategy;
0 12 1 entity Ljava/lang/Object;
1 12 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
entity
private static java.lang.Object lambda$0(org.springframework.data.mapping.PersistentEntity, java.lang.Object);
descriptor: (Lorg/springframework/data/mapping/PersistentEntity;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface org.springframework.data.mapping.PersistentEntity.getPropertyAccessor:(Ljava/lang/Object;)Lorg/springframework/data/mapping/PersistentPropertyAccessor;
aload 0
invokeinterface org.springframework.data.mapping.PersistentEntity.getRequiredVersionProperty:()Lorg/springframework/data/mapping/PersistentProperty;
invokeinterface org.springframework.data.mapping.PersistentPropertyAccessor.getProperty:(Lorg/springframework/data/mapping/PersistentProperty;)Ljava/lang/Object;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 source Ljava/lang/Object;
private static java.lang.Object lambda$1(org.springframework.data.mapping.PersistentEntity, java.lang.Object);
descriptor: (Lorg/springframework/data/mapping/PersistentEntity;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface org.springframework.data.mapping.PersistentEntity.getIdentifierAccessor:(Ljava/lang/Object;)Lorg/springframework/data/mapping/IdentifierAccessor;
invokeinterface org.springframework.data.mapping.IdentifierAccessor.getIdentifier:()Ljava/lang/Object;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 source Ljava/lang/Object;
}
SourceFile: "PersistentEntityIsNewStrategy.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles