Class ConfigBuilder
java.lang.Object
cloud.opencode.base.config.ConfigBuilder
Configuration Builder
配置构建器
Fluent builder for constructing Config instances with multiple sources, validators, converters, and options.
用于构建Config实例的流式构建器,支持多源、验证器、转换器和选项。
Features | 主要功能:
- Fluent builder API - 流式构建器API
- Multiple configuration sources - 多配置源
- Custom type converters - 自定义类型转换器
- Configuration validation - 配置验证
- Placeholder resolution control - 占位符解析控制
- Hot reload configuration - 热重载配置
Usage Examples | 使用示例:
Config config = OpenConfig.builder()
// Add sources (后添加的优先级更高)
.addClasspathResource("default.properties")
.addClasspathResource("application.properties")
.addFile(Path.of("/etc/app/config.properties"))
.addEnvironmentVariables("APP")
.addSystemProperties()
.addCommandLineArgs(args)
// Register custom converters
.registerConverter(InetAddress.class, InetAddress::getByName)
// Validation
.required("database.url", "database.password")
// Features
.enableHotReload()
.hotReloadInterval(Duration.ofSeconds(10))
.build();
Security | 安全性:
- Thread-safe: No - 线程安全: 否
- Use in single thread during configuration - 在配置期间使用单线程
Performance | 性能特性:
- Time complexity: O(s) to build where s is the number of registered sources - 时间复杂度: O(s),s 为注册的配置源数量
- Space complexity: O(s) for source and validator lists - 空间复杂度: O(s) 存储配置源和验证器列表
- Since:
- JDK 25, opencode-base-config V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddClasspathResource(String resource) Add classpath resource 添加类路径资源addClasspathResources(String... resources) Add multiple classpath resources 添加多个类路径资源addCommandLineArgs(String[] args) Add command line arguments 添加命令行参数Add environment variables 添加环境变量addEnvironmentVariables(String prefix) Add environment variables with prefix filter 添加环境变量(带前缀过滤)Add file 添加文件Add multiple files 添加多个文件addProperties(Map<String, String> properties) Add properties map 添加属性映射addSource(ConfigSource source) Add custom configuration source 添加自定义配置源Add system properties 添加系统属性addValidator(ConfigValidator validator) Add validator 添加验证器build()Build configuration 构建配置Disable placeholder resolution 禁用占位符解析Enable hot reload 启用热重载hotReloadInterval(Duration interval) Set hot reload interval 设置热重载间隔<T> ConfigBuilderregisterConverter(Class<T> type, ConfigConverter<T> converter) Register type converter 注册类型转换器Add required keys validation 添加必填键验证
-
Constructor Details
-
ConfigBuilder
public ConfigBuilder()
-
-
Method Details
-
addClasspathResource
Add classpath resource 添加类路径资源- Parameters:
resource- resource path | 资源路径- Returns:
- this builder | 构建器
-
addClasspathResources
Add multiple classpath resources 添加多个类路径资源- Parameters:
resources- resource paths | 资源路径- Returns:
- this builder | 构建器
-
addFile
Add file 添加文件- Parameters:
file- file path | 文件路径- Returns:
- this builder | 构建器
-
addFiles
Add multiple files 添加多个文件- Parameters:
files- file paths | 文件路径- Returns:
- this builder | 构建器
-
addSystemProperties
-
addEnvironmentVariables
Add environment variables 添加环境变量- Returns:
- this builder | 构建器
-
addEnvironmentVariables
Add environment variables with prefix filter 添加环境变量(带前缀过滤)- Parameters:
prefix- environment variable prefix | 环境变量前缀- Returns:
- this builder | 构建器
-
addCommandLineArgs
Add command line arguments 添加命令行参数- Parameters:
args- command line arguments | 命令行参数- Returns:
- this builder | 构建器
-
addProperties
Add properties map 添加属性映射- Parameters:
properties- properties map | 属性映射- Returns:
- this builder | 构建器
-
addSource
Add custom configuration source 添加自定义配置源- Parameters:
source- configuration source | 配置源- Returns:
- this builder | 构建器
-
registerConverter
Register type converter 注册类型转换器- Type Parameters:
T- target type | 目标类型- Parameters:
type- target class | 目标类converter- converter function | 转换器函数- Returns:
- this builder | 构建器
-
disablePlaceholders
Disable placeholder resolution 禁用占位符解析- Returns:
- this builder | 构建器
-
enableHotReload
-
hotReloadInterval
Set hot reload interval 设置热重载间隔- Parameters:
interval- check interval | 检查间隔- Returns:
- this builder | 构建器
-
addValidator
Add validator 添加验证器- Parameters:
validator- configuration validator | 配置验证器- Returns:
- this builder | 构建器
-
required
Add required keys validation 添加必填键验证- Parameters:
keys- required keys | 必填键- Returns:
- this builder | 构建器
-
build
Build configuration 构建配置- Returns:
- configuration instance | 配置实例
- Throws:
OpenConfigException- if validation fails | 如果验证失败
-