beanPropertiesPreferMatchingType() — spring-boot Function Reference
Architecture documentation for the beanPropertiesPreferMatchingType() function in JavaBeanBinderTests.java from the spring-boot codebase.
Entity Profile
Dependency Diagram
graph TD 568574e5_a385_d42d_8ae0_837b89516030["beanPropertiesPreferMatchingType()"] 27c68f3d_4a99_f60a_533b_3cb6bc076b9d["equals()"] 568574e5_a385_d42d_8ae0_837b89516030 -->|calls| 27c68f3d_4a99_f60a_533b_3cb6bc076b9d 8d8ef66e_fc29_736c_c815_846df9fa8305["getType()"] 568574e5_a385_d42d_8ae0_837b89516030 -->|calls| 8d8ef66e_fc29_736c_c815_846df9fa8305 241955c1_e7fb_47f5_5e8e_e359b477a0ed["get()"] 568574e5_a385_d42d_8ae0_837b89516030 -->|calls| 241955c1_e7fb_47f5_5e8e_e359b477a0ed 84c4801c_c236_d53f_dcf3_809ec1a1b664["getName()"] 568574e5_a385_d42d_8ae0_837b89516030 -->|calls| 84c4801c_c236_d53f_dcf3_809ec1a1b664 style 568574e5_a385_d42d_8ae0_837b89516030 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
core/spring-boot/src/test/java/org/springframework/boot/context/properties/bind/JavaBeanBinderTests.java lines 530–568
@Test
void beanPropertiesPreferMatchingType() {
// gh-16206
ResolvableType type = ResolvableType.forClass(PropertyWithOverloadedSetter.class);
Class<?> resolvedType = type.resolve();
assertThat(resolvedType).isNotNull();
Bean<PropertyWithOverloadedSetter> bean = new Bean<>(type, resolvedType) {
@Override
protected void addProperties(Method[] declaredMethods, Field[] declaredFields) {
// We override here because we need a specific order of the declared
// methods and the JVM doesn't give us one
int intSetter = -1;
int stringSetter = -1;
for (int i = 0; i < declaredMethods.length; i++) {
Method method = declaredMethods[i];
if (method.getName().equals("setProperty")) {
if (method.getParameters()[0].getType().equals(int.class)) {
intSetter = i;
}
else {
stringSetter = i;
}
}
}
if (intSetter > stringSetter) {
Method method = declaredMethods[intSetter];
declaredMethods[intSetter] = declaredMethods[stringSetter];
declaredMethods[stringSetter] = method;
}
super.addProperties(declaredMethods, declaredFields);
}
};
BeanProperty property = bean.getProperties().get("property");
assertThat(property).isNotNull();
PropertyWithOverloadedSetter target = new PropertyWithOverloadedSetter();
property.setValue(() -> target, "some string");
}
Domain
Subdomains
Source
Frequently Asked Questions
What does beanPropertiesPreferMatchingType() do?
beanPropertiesPreferMatchingType() is a function in the spring-boot codebase.
What does beanPropertiesPreferMatchingType() call?
beanPropertiesPreferMatchingType() calls 4 function(s): equals, get, getName, getType.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free