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
Calls
- EntryBinder()
- bindEntries()
- createMap()
- equals()
- getValue()
- hasDescendants()
- isEmpty()
- resolveTarget()
Source
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