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

bindAggregate() — spring-boot Function Reference

Architecture documentation for the bindAggregate() function in MapBinder.java from the spring-boot codebase.

Entity Profile

Dependency Diagram

graph TD
  87daadf6_0233_73e5_c9a6_fa5a37ad45f1["bindAggregate()"]
  20baf962_d398_2640_da13_d39e49878feb["resolveTarget()"]
  87daadf6_0233_73e5_c9a6_fa5a37ad45f1 -->|calls| 20baf962_d398_2640_da13_d39e49878feb
  46ef0e2a_c690_87b5_fc49_863e625aabcb["hasDescendants()"]
  87daadf6_0233_73e5_c9a6_fa5a37ad45f1 -->|calls| 46ef0e2a_c690_87b5_fc49_863e625aabcb
  24826c4f_acf6_aa2a_3d90_87a20f29d219["getValue()"]
  87daadf6_0233_73e5_c9a6_fa5a37ad45f1 -->|calls| 24826c4f_acf6_aa2a_3d90_87a20f29d219
  caa47bc3_2301_1297_fa81_5a3a561da1ae["createMap()"]
  87daadf6_0233_73e5_c9a6_fa5a37ad45f1 -->|calls| caa47bc3_2301_1297_fa81_5a3a561da1ae
  c8a32d61_bc84_9663_ce8b_240188c9c86d["EntryBinder()"]
  87daadf6_0233_73e5_c9a6_fa5a37ad45f1 -->|calls| c8a32d61_bc84_9663_ce8b_240188c9c86d
  0b966f5f_5379_0fd2_77e0_81b2587028f3["bindEntries()"]
  87daadf6_0233_73e5_c9a6_fa5a37ad45f1 -->|calls| 0b966f5f_5379_0fd2_77e0_81b2587028f3
  723faf45_147b_9b0f_f957_9de88f8cbb17["isEmpty()"]
  87daadf6_0233_73e5_c9a6_fa5a37ad45f1 -->|calls| 723faf45_147b_9b0f_f957_9de88f8cbb17
  916c243f_a51b_da7a_f1d6_96936f589b78["equals()"]
  87daadf6_0233_73e5_c9a6_fa5a37ad45f1 -->|calls| 916c243f_a51b_da7a_f1d6_96936f589b78
  style 87daadf6_0233_73e5_c9a6_fa5a37ad45f1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

core/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/MapBinder.java lines 56–79

	@Override
	protected @Nullable Object bindAggregate(ConfigurationPropertyName name, Bindable<?> target,
			AggregateElementBinder elementBinder) {
		Bindable<?> resolvedTarget = resolveTarget(target);
		boolean hasDescendants = hasDescendants(name);
		if (!hasDescendants && !ConfigurationPropertyName.EMPTY.equals(name)) {
			for (ConfigurationPropertySource source : getContext().getSources()) {
				ConfigurationProperty property = source.getConfigurationProperty(name);
				if (property != null) {
					getContext().setConfigurationProperty(property);
					Object result = getContext().getPlaceholdersResolver().resolvePlaceholders(property.getValue());
					return getContext().getConverter().convert(result, target);
				}
			}
		}
		Map<Object, Object> map = createMap(target);
		for (ConfigurationPropertySource source : getContext().getSources()) {
			if (!ConfigurationPropertyName.EMPTY.equals(name)) {
				source = source.filter(name::isAncestorOf);
			}
			new EntryBinder(name, resolvedTarget, elementBinder).bindEntries(source, map);
		}
		return map.isEmpty() ? null : map;
	}

Domain

Subdomains

Frequently Asked Questions

What does bindAggregate() do?
bindAggregate() is a function in the spring-boot codebase.
What does bindAggregate() call?
bindAggregate() calls 8 function(s): EntryBinder, bindEntries, createMap, equals, getValue, hasDescendants, isEmpty, resolveTarget.

Analyze Your Own Codebase

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

Try Supermodel Free