ArrayBinder Class — spring-boot Architecture
Architecture documentation for the ArrayBinder class in ArrayBinder.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/ArrayBinder.java lines 36–65
class ArrayBinder extends IndexedElementsBinder<Object> {
ArrayBinder(Context context) {
super(context);
}
@Override
protected @Nullable Object bindAggregate(ConfigurationPropertyName name, Bindable<?> target,
AggregateElementBinder elementBinder) {
IndexedCollectionSupplier result = new IndexedCollectionSupplier(ArrayList::new);
ResolvableType aggregateType = target.getType();
ResolvableType elementType = target.getType().getComponentType();
bindIndexed(name, target, elementBinder, aggregateType, elementType, result);
if (result.wasSupplied()) {
List<Object> list = (List<Object>) result.get();
Object array = Array.newInstance(elementType.resolve(), list.size());
for (int i = 0; i < list.size(); i++) {
Array.set(array, i, list.get(i));
}
return array;
}
return null;
}
@Override
protected Object merge(Supplier<Object> existing, Object additional) {
return additional;
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free