class org.springframework.boot.context.properties.ConfigurationPropertiesBinder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.boot.context.properties.ConfigurationPropertiesBinder
super_class: java.lang.Object
{
private static final java.lang.String BEAN_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "org.springframework.boot.context.internalConfigurationPropertiesBinder"
private static final java.lang.String FACTORY_BEAN_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "org.springframework.boot.context.internalConfigurationPropertiesBinderFactory"
private static final java.lang.String VALIDATOR_BEAN_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "configurationPropertiesValidator"
private final org.springframework.context.ApplicationContext applicationContext;
descriptor: Lorg/springframework/context/ApplicationContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.core.env.PropertySources propertySources;
descriptor: Lorg/springframework/core/env/PropertySources;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.validation.Validator configurationPropertiesValidator;
descriptor: Lorg/springframework/validation/Validator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean jsr303Present;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile org.springframework.validation.Validator jsr303Validator;
descriptor: Lorg/springframework/validation/Validator;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile org.springframework.boot.context.properties.bind.Binder binder;
descriptor: Lorg/springframework/boot/context/properties/bind/Binder;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
void <init>(org.springframework.context.ApplicationContext);
descriptor: (Lorg/springframework/context/ApplicationContext;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.applicationContext:Lorg/springframework/context/ApplicationContext;
2: aload 0
new org.springframework.boot.context.properties.PropertySourcesDeducer
dup
aload 1
invokespecial org.springframework.boot.context.properties.PropertySourcesDeducer.<init>:(Lorg/springframework/context/ApplicationContext;)V
invokevirtual org.springframework.boot.context.properties.PropertySourcesDeducer.getPropertySources:()Lorg/springframework/core/env/PropertySources;
putfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.propertySources:Lorg/springframework/core/env/PropertySources;
3: aload 0
aload 0
aload 1
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getConfigurationPropertiesValidator:(Lorg/springframework/context/ApplicationContext;)Lorg/springframework/validation/Validator;
putfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.configurationPropertiesValidator:Lorg/springframework/validation/Validator;
4: aload 0
aload 1
invokestatic org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator.isJsr303Present:(Lorg/springframework/context/ApplicationContext;)Z
putfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.jsr303Present:Z
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
0 6 1 applicationContext Lorg/springframework/context/ApplicationContext;
MethodParameters:
Name Flags
applicationContext
org.springframework.boot.context.properties.bind.BindResult<?> bind(org.springframework.boot.context.properties.ConfigurationPropertiesBean);
descriptor: (Lorg/springframework/boot/context/properties/ConfigurationPropertiesBean;)Lorg/springframework/boot/context/properties/bind/BindResult;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBean.asBindTarget:()Lorg/springframework/boot/context/properties/bind/Bindable;
astore 2
start local 2 1: aload 1
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBean.getAnnotation:()Lorg/springframework/boot/context/properties/ConfigurationProperties;
astore 3
start local 3 2: aload 0
aload 2
aload 3
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getBindHandler:(Lorg/springframework/boot/context/properties/bind/Bindable;Lorg/springframework/boot/context/properties/ConfigurationProperties;)Lorg/springframework/boot/context/properties/bind/BindHandler;
astore 4
start local 4 3: aload 0
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getBinder:()Lorg/springframework/boot/context/properties/bind/Binder;
aload 3
invokeinterface org.springframework.boot.context.properties.ConfigurationProperties.prefix:()Ljava/lang/String;
aload 2
aload 4
invokevirtual org.springframework.boot.context.properties.bind.Binder.bind:(Ljava/lang/String;Lorg/springframework/boot/context/properties/bind/Bindable;Lorg/springframework/boot/context/properties/bind/BindHandler;)Lorg/springframework/boot/context/properties/bind/BindResult;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
0 4 1 propertiesBean Lorg/springframework/boot/context/properties/ConfigurationPropertiesBean;
1 4 2 target Lorg/springframework/boot/context/properties/bind/Bindable<*>;
2 4 3 annotation Lorg/springframework/boot/context/properties/ConfigurationProperties;
3 4 4 bindHandler Lorg/springframework/boot/context/properties/bind/BindHandler;
Signature: (Lorg/springframework/boot/context/properties/ConfigurationPropertiesBean;)Lorg/springframework/boot/context/properties/bind/BindResult<*>;
MethodParameters:
Name Flags
propertiesBean
java.lang.Object bindOrCreate(org.springframework.boot.context.properties.ConfigurationPropertiesBean);
descriptor: (Lorg/springframework/boot/context/properties/ConfigurationPropertiesBean;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBean.asBindTarget:()Lorg/springframework/boot/context/properties/bind/Bindable;
astore 2
start local 2 1: aload 1
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBean.getAnnotation:()Lorg/springframework/boot/context/properties/ConfigurationProperties;
astore 3
start local 3 2: aload 0
aload 2
aload 3
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getBindHandler:(Lorg/springframework/boot/context/properties/bind/Bindable;Lorg/springframework/boot/context/properties/ConfigurationProperties;)Lorg/springframework/boot/context/properties/bind/BindHandler;
astore 4
start local 4 3: aload 0
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getBinder:()Lorg/springframework/boot/context/properties/bind/Binder;
aload 3
invokeinterface org.springframework.boot.context.properties.ConfigurationProperties.prefix:()Ljava/lang/String;
aload 2
aload 4
invokevirtual org.springframework.boot.context.properties.bind.Binder.bindOrCreate:(Ljava/lang/String;Lorg/springframework/boot/context/properties/bind/Bindable;Lorg/springframework/boot/context/properties/bind/BindHandler;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
0 4 1 propertiesBean Lorg/springframework/boot/context/properties/ConfigurationPropertiesBean;
1 4 2 target Lorg/springframework/boot/context/properties/bind/Bindable<*>;
2 4 3 annotation Lorg/springframework/boot/context/properties/ConfigurationProperties;
3 4 4 bindHandler Lorg/springframework/boot/context/properties/bind/BindHandler;
MethodParameters:
Name Flags
propertiesBean
private org.springframework.validation.Validator getConfigurationPropertiesValidator(org.springframework.context.ApplicationContext);
descriptor: (Lorg/springframework/context/ApplicationContext;)Lorg/springframework/validation/Validator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "configurationPropertiesValidator"
invokeinterface org.springframework.context.ApplicationContext.containsBean:(Ljava/lang/String;)Z
ifeq 2
1: aload 1
ldc "configurationPropertiesValidator"
ldc Lorg/springframework/validation/Validator;
invokeinterface org.springframework.context.ApplicationContext.getBean:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.springframework.validation.Validator
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
0 3 1 applicationContext Lorg/springframework/context/ApplicationContext;
MethodParameters:
Name Flags
applicationContext
private <T> org.springframework.boot.context.properties.bind.BindHandler getBindHandler(org.springframework.boot.context.properties.bind.Bindable<T>, org.springframework.boot.context.properties.ConfigurationProperties);
descriptor: (Lorg/springframework/boot/context/properties/bind/Bindable;Lorg/springframework/boot/context/properties/ConfigurationProperties;)Lorg/springframework/boot/context/properties/bind/BindHandler;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getValidators:(Lorg/springframework/boot/context/properties/bind/Bindable;)Ljava/util/List;
astore 3
start local 3 1: aload 0
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getHandler:()Lorg/springframework/boot/context/properties/bind/handler/IgnoreTopLevelConverterNotFoundBindHandler;
astore 4
start local 4 2: aload 2
invokeinterface org.springframework.boot.context.properties.ConfigurationProperties.ignoreInvalidFields:()Z
ifeq 4
3: new org.springframework.boot.context.properties.bind.handler.IgnoreErrorsBindHandler
dup
aload 4
invokespecial org.springframework.boot.context.properties.bind.handler.IgnoreErrorsBindHandler.<init>:(Lorg/springframework/boot/context/properties/bind/BindHandler;)V
astore 4
4: StackMap locals: java.util.List org.springframework.boot.context.properties.bind.BindHandler
StackMap stack:
aload 2
invokeinterface org.springframework.boot.context.properties.ConfigurationProperties.ignoreUnknownFields:()Z
ifne 7
5: new org.springframework.boot.context.properties.source.UnboundElementsSourceFilter
dup
invokespecial org.springframework.boot.context.properties.source.UnboundElementsSourceFilter.<init>:()V
astore 5
start local 5 6: new org.springframework.boot.context.properties.bind.handler.NoUnboundElementsBindHandler
dup
aload 4
aload 5
invokespecial org.springframework.boot.context.properties.bind.handler.NoUnboundElementsBindHandler.<init>:(Lorg/springframework/boot/context/properties/bind/BindHandler;Ljava/util/function/Function;)V
astore 4
end local 5 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.List.isEmpty:()Z
ifne 9
8: new org.springframework.boot.context.properties.bind.validation.ValidationBindHandler
dup
aload 4
aload 3
iconst_0
anewarray org.springframework.validation.Validator
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.springframework.validation.Validator[]
invokespecial org.springframework.boot.context.properties.bind.validation.ValidationBindHandler.<init>:(Lorg/springframework/boot/context/properties/bind/BindHandler;[Lorg/springframework/validation/Validator;)V
astore 4
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getBindHandlerAdvisors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: org.springframework.boot.context.properties.ConfigurationPropertiesBinder org.springframework.boot.context.properties.bind.Bindable org.springframework.boot.context.properties.ConfigurationProperties java.util.List org.springframework.boot.context.properties.bind.BindHandler top java.util.Iterator
StackMap stack:
10: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.boot.context.properties.ConfigurationPropertiesBindHandlerAdvisor
astore 5
start local 5 11: aload 5
aload 4
invokeinterface org.springframework.boot.context.properties.ConfigurationPropertiesBindHandlerAdvisor.apply:(Lorg/springframework/boot/context/properties/bind/BindHandler;)Lorg/springframework/boot/context/properties/bind/BindHandler;
astore 4
end local 5 12: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: 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/context/properties/ConfigurationPropertiesBinder;
0 14 1 target Lorg/springframework/boot/context/properties/bind/Bindable<TT;>;
0 14 2 annotation Lorg/springframework/boot/context/properties/ConfigurationProperties;
1 14 3 validators Ljava/util/List<Lorg/springframework/validation/Validator;>;
2 14 4 handler Lorg/springframework/boot/context/properties/bind/BindHandler;
6 7 5 filter Lorg/springframework/boot/context/properties/source/UnboundElementsSourceFilter;
11 12 5 advisor Lorg/springframework/boot/context/properties/ConfigurationPropertiesBindHandlerAdvisor;
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/boot/context/properties/bind/Bindable<TT;>;Lorg/springframework/boot/context/properties/ConfigurationProperties;)Lorg/springframework/boot/context/properties/bind/BindHandler;
MethodParameters:
Name Flags
target
annotation
private org.springframework.boot.context.properties.bind.handler.IgnoreTopLevelConverterNotFoundBindHandler getHandler();
descriptor: ()Lorg/springframework/boot/context/properties/bind/handler/IgnoreTopLevelConverterNotFoundBindHandler;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.applicationContext:Lorg/springframework/context/ApplicationContext;
invokestatic org.springframework.boot.context.properties.BoundConfigurationProperties.get:(Lorg/springframework/context/ApplicationContext;)Lorg/springframework/boot/context/properties/BoundConfigurationProperties;
astore 1
start local 1 1: aload 1
ifnull 3
2: new org.springframework.boot.context.properties.bind.handler.IgnoreTopLevelConverterNotFoundBindHandler
dup
new org.springframework.boot.context.properties.bind.BoundPropertiesTrackingBindHandler
dup
aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lorg/springframework/boot/context/properties/BoundConfigurationProperties;)Ljava/util/function/Consumer;
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;)V
org/springframework/boot/context/properties/BoundConfigurationProperties.add(Lorg/springframework/boot/context/properties/source/ConfigurationProperty;)V (5)
(Lorg/springframework/boot/context/properties/source/ConfigurationProperty;)V
invokespecial org.springframework.boot.context.properties.bind.BoundPropertiesTrackingBindHandler.<init>:(Ljava/util/function/Consumer;)V
invokespecial org.springframework.boot.context.properties.bind.handler.IgnoreTopLevelConverterNotFoundBindHandler.<init>:(Lorg/springframework/boot/context/properties/bind/BindHandler;)V
goto 4
3: StackMap locals: org.springframework.boot.context.properties.BoundConfigurationProperties
StackMap stack:
new org.springframework.boot.context.properties.bind.handler.IgnoreTopLevelConverterNotFoundBindHandler
dup
invokespecial org.springframework.boot.context.properties.bind.handler.IgnoreTopLevelConverterNotFoundBindHandler.<init>:()V
4: StackMap locals:
StackMap stack: org.springframework.boot.context.properties.bind.handler.IgnoreTopLevelConverterNotFoundBindHandler
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
1 5 1 bound Lorg/springframework/boot/context/properties/BoundConfigurationProperties;
private java.util.List<org.springframework.validation.Validator> getValidators(org.springframework.boot.context.properties.bind.Bindable<?>);
descriptor: (Lorg/springframework/boot/context/properties/bind/Bindable;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
iconst_3
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.configurationPropertiesValidator:Lorg/springframework/validation/Validator;
ifnull 3
2: aload 2
aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.configurationPropertiesValidator:Lorg/springframework/validation/Validator;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: StackMap locals: java.util.List
StackMap stack:
aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.jsr303Present:Z
ifeq 5
aload 1
ldc Lorg/springframework/validation/annotation/Validated;
invokevirtual org.springframework.boot.context.properties.bind.Bindable.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 5
4: aload 2
aload 0
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getJsr303Validator:()Lorg/springframework/validation/Validator;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.springframework.boot.context.properties.bind.Bindable.getValue:()Ljava/util/function/Supplier;
ifnull 7
aload 1
invokevirtual org.springframework.boot.context.properties.bind.Bindable.getValue:()Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
instanceof org.springframework.validation.Validator
ifeq 7
6: aload 2
aload 1
invokevirtual org.springframework.boot.context.properties.bind.Bindable.getValue:()Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast org.springframework.validation.Validator
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
0 8 1 target Lorg/springframework/boot/context/properties/bind/Bindable<*>;
1 8 2 validators Ljava/util/List<Lorg/springframework/validation/Validator;>;
Signature: (Lorg/springframework/boot/context/properties/bind/Bindable<*>;)Ljava/util/List<Lorg/springframework/validation/Validator;>;
MethodParameters:
Name Flags
target
private org.springframework.validation.Validator getJsr303Validator();
descriptor: ()Lorg/springframework/validation/Validator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.jsr303Validator:Lorg/springframework/validation/Validator;
ifnonnull 2
1: aload 0
new org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator
dup
aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.applicationContext:Lorg/springframework/context/ApplicationContext;
invokespecial org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator.<init>:(Lorg/springframework/context/ApplicationContext;)V
putfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.jsr303Validator:Lorg/springframework/validation/Validator;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.jsr303Validator:Lorg/springframework/validation/Validator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
private java.util.List<org.springframework.boot.context.properties.ConfigurationPropertiesBindHandlerAdvisor> getBindHandlerAdvisors();
descriptor: ()Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.applicationContext:Lorg/springframework/context/ApplicationContext;
ldc Lorg/springframework/boot/context/properties/ConfigurationPropertiesBindHandlerAdvisor;
invokeinterface org.springframework.context.ApplicationContext.getBeanProvider:(Ljava/lang/Class;)Lorg/springframework/beans/factory/ObjectProvider;
invokeinterface org.springframework.beans.factory.ObjectProvider.orderedStream:()Ljava/util/stream/Stream;
1: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
Signature: ()Ljava/util/List<Lorg/springframework/boot/context/properties/ConfigurationPropertiesBindHandlerAdvisor;>;
private org.springframework.boot.context.properties.bind.Binder getBinder();
descriptor: ()Lorg/springframework/boot/context/properties/bind/Binder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.binder:Lorg/springframework/boot/context/properties/bind/Binder;
ifnonnull 5
1: aload 0
new org.springframework.boot.context.properties.bind.Binder
dup
aload 0
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getConfigurationPropertySources:()Ljava/lang/Iterable;
aload 0
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getPropertySourcesPlaceholdersResolver:()Lorg/springframework/boot/context/properties/bind/PropertySourcesPlaceholdersResolver;
2: aload 0
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getConversionService:()Lorg/springframework/core/convert/ConversionService;
aload 0
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder.getPropertyEditorInitializer:()Ljava/util/function/Consumer;
aconst_null
3: getstatic org.springframework.boot.context.properties.ConfigurationPropertiesBindConstructorProvider.INSTANCE:Lorg/springframework/boot/context/properties/ConfigurationPropertiesBindConstructorProvider;
invokespecial org.springframework.boot.context.properties.bind.Binder.<init>:(Ljava/lang/Iterable;Lorg/springframework/boot/context/properties/bind/PlaceholdersResolver;Lorg/springframework/core/convert/ConversionService;Ljava/util/function/Consumer;Lorg/springframework/boot/context/properties/bind/BindHandler;Lorg/springframework/boot/context/properties/bind/BindConstructorProvider;)V
4: putfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.binder:Lorg/springframework/boot/context/properties/bind/Binder;
5: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.binder:Lorg/springframework/boot/context/properties/bind/Binder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
private java.lang.Iterable<org.springframework.boot.context.properties.source.ConfigurationPropertySource> getConfigurationPropertySources();
descriptor: ()Ljava/lang/Iterable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.propertySources:Lorg/springframework/core/env/PropertySources;
invokestatic org.springframework.boot.context.properties.source.ConfigurationPropertySources.from:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
Signature: ()Ljava/lang/Iterable<Lorg/springframework/boot/context/properties/source/ConfigurationPropertySource;>;
private org.springframework.boot.context.properties.bind.PropertySourcesPlaceholdersResolver getPropertySourcesPlaceholdersResolver();
descriptor: ()Lorg/springframework/boot/context/properties/bind/PropertySourcesPlaceholdersResolver;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.springframework.boot.context.properties.bind.PropertySourcesPlaceholdersResolver
dup
aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.propertySources:Lorg/springframework/core/env/PropertySources;
invokespecial org.springframework.boot.context.properties.bind.PropertySourcesPlaceholdersResolver.<init>:(Ljava/lang/Iterable;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
private org.springframework.core.convert.ConversionService getConversionService();
descriptor: ()Lorg/springframework/core/convert/ConversionService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.springframework.boot.context.properties.ConversionServiceDeducer
dup
aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.applicationContext:Lorg/springframework/context/ApplicationContext;
invokespecial org.springframework.boot.context.properties.ConversionServiceDeducer.<init>:(Lorg/springframework/context/ApplicationContext;)V
invokevirtual org.springframework.boot.context.properties.ConversionServiceDeducer.getConversionService:()Lorg/springframework/core/convert/ConversionService;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
private java.util.function.Consumer<org.springframework.beans.PropertyEditorRegistry> getPropertyEditorInitializer();
descriptor: ()Ljava/util/function/Consumer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.applicationContext:Lorg/springframework/context/ApplicationContext;
instanceof org.springframework.context.ConfigurableApplicationContext
ifeq 2
1: aload 0
getfield org.springframework.boot.context.properties.ConfigurationPropertiesBinder.applicationContext:Lorg/springframework/context/ApplicationContext;
checkcast org.springframework.context.ConfigurableApplicationContext
invokeinterface org.springframework.context.ConfigurableApplicationContext.getBeanFactory:()Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)Ljava/util/function/Consumer;
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;)V
org/springframework/beans/factory/config/ConfigurableBeanFactory.copyRegisteredEditorsTo(Lorg/springframework/beans/PropertyEditorRegistry;)V (9 itf)
(Lorg/springframework/beans/PropertyEditorRegistry;)V
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
Signature: ()Ljava/util/function/Consumer<Lorg/springframework/beans/PropertyEditorRegistry;>;
static void register(org.springframework.beans.factory.support.BeanDefinitionRegistry);
descriptor: (Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "org.springframework.boot.context.internalConfigurationPropertiesBinderFactory"
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.containsBeanDefinition:(Ljava/lang/String;)Z
ifne 8
1: ldc Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder$Factory;
2: invokedynamic get()Ljava/util/function/Supplier;
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;
org/springframework/boot/context/properties/ConfigurationPropertiesBinder$Factory.<init>()V (8)
()Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder$Factory;
3: invokestatic org.springframework.beans.factory.support.BeanDefinitionBuilder.genericBeanDefinition:(Ljava/lang/Class;Ljava/util/function/Supplier;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
4: invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.getBeanDefinition:()Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
5: astore 1
start local 1 6: aload 1
iconst_2
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.setRole:(I)V
7: aload 0
ldc "org.springframework.boot.context.internalConfigurationPropertiesBinderFactory"
aload 1
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.registerBeanDefinition:(Ljava/lang/String;Lorg/springframework/beans/factory/config/BeanDefinition;)V
end local 1 8: StackMap locals:
StackMap stack:
aload 0
ldc "org.springframework.boot.context.internalConfigurationPropertiesBinder"
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.containsBeanDefinition:(Ljava/lang/String;)Z
ifne 16
9: ldc Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
10: aload 0
invokedynamic get(Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)Ljava/util/function/Supplier;
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;
org/springframework/boot/context/properties/ConfigurationPropertiesBinder.lambda$3(Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder; (6)
()Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
11: invokestatic org.springframework.beans.factory.support.BeanDefinitionBuilder.genericBeanDefinition:(Ljava/lang/Class;Ljava/util/function/Supplier;)Lorg/springframework/beans/factory/support/BeanDefinitionBuilder;
12: invokevirtual org.springframework.beans.factory.support.BeanDefinitionBuilder.getBeanDefinition:()Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
13: astore 1
start local 1 14: aload 1
iconst_2
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.setRole:(I)V
15: aload 0
ldc "org.springframework.boot.context.internalConfigurationPropertiesBinder"
aload 1
invokeinterface org.springframework.beans.factory.support.BeanDefinitionRegistry.registerBeanDefinition:(Ljava/lang/String;Lorg/springframework/beans/factory/config/BeanDefinition;)V
end local 1 16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 registry Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
6 8 1 definition Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
14 16 1 definition Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
MethodParameters:
Name Flags
registry
static org.springframework.boot.context.properties.ConfigurationPropertiesBinder get(org.springframework.beans.factory.BeanFactory);
descriptor: (Lorg/springframework/beans/factory/BeanFactory;)Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "org.springframework.boot.context.internalConfigurationPropertiesBinder"
ldc Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
invokeinterface org.springframework.beans.factory.BeanFactory.getBean:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.springframework.boot.context.properties.ConfigurationPropertiesBinder
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 beanFactory Lorg/springframework/beans/factory/BeanFactory;
MethodParameters:
Name Flags
beanFactory
private static org.springframework.boot.context.properties.ConfigurationPropertiesBinder lambda$3(org.springframework.beans.factory.support.BeanDefinitionRegistry);
descriptor: (Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: aload 0
checkcast org.springframework.beans.factory.BeanFactory
1: ldc "org.springframework.boot.context.internalConfigurationPropertiesBinderFactory"
ldc Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder$Factory;
invokeinterface org.springframework.beans.factory.BeanFactory.getBean:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.springframework.boot.context.properties.ConfigurationPropertiesBinder$Factory
invokevirtual org.springframework.boot.context.properties.ConfigurationPropertiesBinder$Factory.create:()Lorg/springframework/boot/context/properties/ConfigurationPropertiesBinder;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ConfigurationPropertiesBinder.java"
NestMembers:
org.springframework.boot.context.properties.ConfigurationPropertiesBinder$Factory
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
Factory = org.springframework.boot.context.properties.ConfigurationPropertiesBinder$Factory of org.springframework.boot.context.properties.ConfigurationPropertiesBinder