Class OpenConfig
java.lang.Object
cloud.opencode.base.config.OpenConfig
Global Configuration Manager Facade
全局配置管理器门面
This class provides a unified entry point for configuration management with support for multiple sources, type conversion, hot reloading, and more.
此类提供配置管理的统一入口,支持多配置源、类型转换、热重载等功能。
Features | 主要功能:
- Global configuration singleton - 全局配置单例
- Fluent builder API - 流式构建器API
- Static delegate methods - 静态委托方法
- Multiple configuration sources - 多配置源支持
- Hot reload capability - 热重载能力
Usage Examples | 使用示例:
// Use default configuration
String dbUrl = OpenConfig.getString("database.url");
int port = OpenConfig.getInt("server.port", 8080);
// Build custom configuration
Config config = OpenConfig.builder()
.addClasspathResource("application.properties")
.addEnvironmentVariables()
.addSystemProperties()
.enableHotReload()
.build();
OpenConfig.setGlobal(config);
// Quick loading
Config fileConfig = OpenConfig.loadFromFile(Path.of("config.properties"));
Config classpathConfig = OpenConfig.loadFromClasspath("app.properties");
Performance | 性能特性:
- Time complexity: O(1) for singleton access - 时间复杂度: 单例访问为O(1)
- Lazy initialization with double-check locking - 双重检查锁的懒加载
- Thread-safe global configuration - 线程安全的全局配置
Security | 安全性:
- Thread-safe: Yes - 线程安全: 是
- Immutable facade - 不可变门面
- Since:
- JDK 25, opencode-base-config V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> Tstatic <T> voidstatic ConfigBuilderbuilder()Create configuration builder 创建配置构建器static <T> Tstatic <T> Tstatic booleangetBoolean(String key) static booleangetBoolean(String key, boolean defaultValue) getByPrefix(String prefix) static doublestatic doublestatic DurationgetDuration(String key) static DurationgetDuration(String key, Duration defaultValue) static ConfigGet global configuration instance 获取全局配置实例static intstatic intgetKeys()static <T> List<T> static longstatic longstatic <K,V> Map <K, V> getOptional(String key) static <T> Optional<T> getOptional(String key, Class<T> type) static Stringstatic Stringstatic ConfiggetSubConfig(String prefix) static booleanstatic ConfigloadFromClasspath(String... resources) Load configuration from classpath resources 从类路径资源加载配置static ConfigloadFromFile(Path... files) Load configuration from files 从文件加载配置static ConfigloadFromProperties(Map<String, String> properties) Load configuration from properties map 从属性映射加载配置static voidSet global configuration 设置全局配置
-
Method Details
-
getGlobal
Get global configuration instance 获取全局配置实例Uses lazy initialization with double-check locking pattern.
使用双重检查锁模式的懒加载。
- Returns:
- global configuration | 全局配置
-
setGlobal
Set global configuration 设置全局配置- Parameters:
config- configuration instance | 配置实例
-
builder
Create configuration builder 创建配置构建器- Returns:
- new builder instance | 新的构建器实例
-
getString
-
getString
-
getInt
-
getInt
-
getLong
-
getLong
-
getDouble
-
getDouble
-
getBoolean
-
getBoolean
-
getDuration
-
getDuration
-
get
-
get
-
getList
-
getMap
-
getOptional
-
getOptional
-
getSubConfig
-
getByPrefix
-
hasKey
-
getKeys
-
bind
-
bindTo
-
loadFromClasspath
-
loadFromFile
-
loadFromProperties
-