Class ConverterRegistry
java.lang.Object
cloud.opencode.base.config.converter.ConverterRegistry
- Direct Known Subclasses:
SpiConverterRegistry
Type Converter Registry
类型转换器注册表
Manages type converters for configuration value conversion with built-in support for 30+ common types.
管理配置值转换的类型转换器,内置支持30多种常用类型。
Features | 主要功能:
- 30+ built-in type converters - 30多个内置类型转换器
- Custom converter registration - 自定义转换器注册
- Automatic enum conversion - 自动枚举转换
- Thread-safe concurrent access - 线程安全的并发访问
Usage Examples | 使用示例:
// Use defaults
ConverterRegistry registry = ConverterRegistry.defaults();
// Convert values
Integer port = registry.convert("8080", Integer.class);
Duration timeout = registry.convert("30s", Duration.class);
LocalDate date = registry.convert("2025-01-01", LocalDate.class);
// Register custom converter
registry.register(InetAddress.class, InetAddress::getByName);
InetAddress addr = registry.convert("127.0.0.1", InetAddress.class);
Supported Types | 支持的类型:
- Primitives: int, long, double, float, boolean, etc.
- Numbers: Integer, Long, BigDecimal, BigInteger
- Time: Duration, LocalDate, LocalTime, LocalDateTime, Instant, ZonedDateTime
- Path: Path, URI, URL
- Collections: List, Set, Map (via separate converters)
- Enums: Automatic conversion
Performance | 性能特性:
- Time complexity: O(1) for conversion - 时间复杂度: 转换为O(1)
- Thread-safe concurrent map - 线程安全的并发映射
Security | 安全性:
- Thread-safe: Yes - 线程安全: 是
- Null-safe conversions - 空值安全转换
- Since:
- JDK 25, opencode-base-config V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> TConvert string value to target type 将字符串值转换为目标类型static ConverterRegistrydefaults()Create default converter registry 创建默认转换器注册表booleanhasConverter(Class<?> type) Check if converter exists for type 检查类型是否存在转换器<T> voidregister(Class<T> type, ConfigConverter<T> converter) Register type converter 注册类型转换器
-
Constructor Details
-
ConverterRegistry
public ConverterRegistry()
-
-
Method Details
-
defaults
Create default converter registry 创建默认转换器注册表- Returns:
- registry with built-in converters | 带内置转换器的注册表
-
register
Register type converter 注册类型转换器- Type Parameters:
T- target type | 目标类型- Parameters:
type- target class | 目标类converter- converter function | 转换器函数
-
convert
Convert string value to target type 将字符串值转换为目标类型- Type Parameters:
T- target type | 目标类型- Parameters:
value- string value | 字符串值type- target class | 目标类- Returns:
- converted value | 转换后的值
- Throws:
OpenConfigException- if conversion fails | 如果转换失败
-
hasConverter
Check if converter exists for type 检查类型是否存在转换器- Parameters:
type- target class | 目标类- Returns:
- true if converter exists | 如果转换器存在返回true
-