Home / Function/ resolveJavaBeanProperties() — spring-boot Function Reference

resolveJavaBeanProperties() — spring-boot Function Reference

Architecture documentation for the resolveJavaBeanProperties() function in PropertyDescriptorResolver.java from the spring-boot codebase.

Function java GradlePlugin AotProcessing calls 2 called by 1

Entity Profile

Dependency Diagram

graph TD
  5c1af899_0b26_ee7e_603f_cbfeac42fe14["resolveJavaBeanProperties()"]
  6775f042_3d09_d5e9_78c0_c47ca3fcd373["resolve()"]
  6775f042_3d09_d5e9_78c0_c47ca3fcd373 -->|calls| 5c1af899_0b26_ee7e_603f_cbfeac42fe14
  8f5fc172_bd1b_2c58_e46d_1aae04445c59["findMatchingGetter()"]
  5c1af899_0b26_ee7e_603f_cbfeac42fe14 -->|calls| 8f5fc172_bd1b_2c58_e46d_1aae04445c59
  c80dcaca_a36e_a48d_f1de_b2c11488903f["getPropertyName()"]
  5c1af899_0b26_ee7e_603f_cbfeac42fe14 -->|calls| c80dcaca_a36e_a48d_f1de_b2c11488903f
  style 5c1af899_0b26_ee7e_603f_cbfeac42fe14 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

configuration-metadata/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/PropertyDescriptorResolver.java lines 114–141

	private Stream<PropertyDescriptor> resolveJavaBeanProperties(TypeElement declaringElement,
			TypeElementMembers members, ExecutableElement factoryMethod) {
		// First check if we have regular java bean properties there
		Map<String, PropertyDescriptor> candidates = new LinkedHashMap<>();
		members.getPublicGetters().forEach((name, getters) -> {
			VariableElement field = members.getFields().get(name);
			ExecutableElement getter = findMatchingGetter(members, getters, field);
			TypeMirror propertyType = getter.getReturnType();
			SourceMetadata sourceMetadata = this.environment.resolveSourceMetadata(field, getter);
			register(candidates,
					sourceMetadata.createPropertyDescriptor(getPropertyName(field, name),
							(propertyName) -> new JavaBeanPropertyDescriptor(propertyName, propertyType,
									declaringElement, getter, members.getPublicSetter(name, propertyType), field,
									factoryMethod)));
		});
		// Then check for Lombok ones
		members.getFields().forEach((name, field) -> {
			TypeMirror propertyType = field.asType();
			ExecutableElement getter = members.getPublicGetter(name, propertyType);
			ExecutableElement setter = members.getPublicSetter(name, propertyType);
			SourceMetadata sourceMetadata = this.environment.resolveSourceMetadata(field, getter);
			register(candidates,
					sourceMetadata.createPropertyDescriptor(getPropertyName(field, name),
							(propertyName) -> new LombokPropertyDescriptor(propertyName, propertyType, declaringElement,
									getter, setter, field, factoryMethod)));
		});
		return candidates.values().stream();
	}

Domain

Subdomains

Calls

Called By

Frequently Asked Questions

What does resolveJavaBeanProperties() do?
resolveJavaBeanProperties() is a function in the spring-boot codebase.
What does resolveJavaBeanProperties() call?
resolveJavaBeanProperties() calls 2 function(s): findMatchingGetter, getPropertyName.
What calls resolveJavaBeanProperties()?
resolveJavaBeanProperties() is called by 1 function(s): resolve.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free