BoundConfigurationProperties Class — spring-boot Architecture
Architecture documentation for the BoundConfigurationProperties class in BoundConfigurationProperties.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/main/java/org/springframework/boot/context/properties/BoundConfigurationProperties.java lines 40–91
public class BoundConfigurationProperties {
private final Map<ConfigurationPropertyName, ConfigurationProperty> properties = new LinkedHashMap<>();
/**
* The bean name that this class is registered with.
*/
private static final String BEAN_NAME = BoundConfigurationProperties.class.getName();
void add(ConfigurationProperty configurationProperty) {
this.properties.put(configurationProperty.getName(), configurationProperty);
}
/**
* Get the configuration property bound to the given name.
* @param name the property name
* @return the bound property or {@code null}
*/
public @Nullable ConfigurationProperty get(ConfigurationPropertyName name) {
return this.properties.get(name);
}
/**
* Get all bound properties.
* @return a map of all bound properties
*/
public Map<ConfigurationPropertyName, ConfigurationProperty> getAll() {
return Collections.unmodifiableMap(this.properties);
}
/**
* Return the {@link BoundConfigurationProperties} from the given
* {@link ApplicationContext} if it is available.
* @param context the context to search
* @return a {@link BoundConfigurationProperties} or {@code null}
*/
public static @Nullable BoundConfigurationProperties get(ApplicationContext context) {
return (!context.containsBeanDefinition(BEAN_NAME)) ? null
: context.getBean(BEAN_NAME, BoundConfigurationProperties.class);
}
static void register(BeanDefinitionRegistry registry) {
Assert.notNull(registry, "'registry' must not be null");
if (!registry.containsBeanDefinition(BEAN_NAME)) {
BeanDefinition definition = BeanDefinitionBuilder.rootBeanDefinition(BoundConfigurationProperties.class)
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE)
.getBeanDefinition();
registry.registerBeanDefinition(BEAN_NAME, definition);
}
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free