Class ValidationModuleAdapter
java.lang.Object
cloud.opencode.base.config.validation.ValidationModuleAdapter
Validation Module Adapter with Optional Validation Module Delegation
支持可选 Validation 模块委托的验证适配器
Provides config validation using OpenValidator when the Validation module is available. When not available, falls back to basic validation.
当 Validation 模块可用时,使用 OpenValidator 进行配置验证。 不可用时,降级到基础验证。
Features | 主要功能:
- Bean validation for config objects - 配置对象的 Bean 验证
- Constraint annotation support - 约束注解支持
- Custom validation rules - 自定义验证规则
- Graceful fallback - 优雅降级
Usage Examples | 使用示例:
// Validate a config-bound object
DatabaseConfig dbConfig = config.bind("database", DatabaseConfig.class);
ValidationResult result = ValidationModuleAdapter.validateObject(dbConfig);
if (!result.isValid()) {
result.getErrors().forEach(System.err::println);
}
// Create a ConfigValidator using validation module
ConfigValidator validator = ValidationModuleAdapter.forObject(DatabaseConfig.class, "database");
Security | 安全性:
- Thread-safe: Yes (immutable) - 线程安全: 是(不可变)
- Null-safe: Partial (validates inputs) - 空值安全: 部分(验证输入)
- Since:
- JDK 25, opencode-base-config V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic ConfigValidatorcombine(ConfigValidator... validators) Combines multiple validators into one.static <T> ConfigValidatorCreates a ConfigValidator that validates bound config objects.static ConfigValidatorforPatterns(Map<String, String> patterns) Creates a ConfigValidator that validates values against patterns.static ConfigValidatorforRequiredKeys(String... requiredKeys) Creates a ConfigValidator for required keys with validation annotations.static booleanChecks if the Validation module is available.static ValidationResultvalidateObject(Object object) Validates an object using OpenValidator if available.
-
Method Details
-
isValidationModuleAvailable
public static boolean isValidationModuleAvailable()Checks if the Validation module is available. 检查 Validation 模块是否可用- Returns:
- true if Validation module is available | 如果 Validation 模块可用返回 true
-
validateObject
Validates an object using OpenValidator if available. 如果可用,使用 OpenValidator 验证对象- Parameters:
object- the object to validate | 要验证的对象- Returns:
- validation result | 验证结果
-
forObject
Creates a ConfigValidator that validates bound config objects. 创建一个验证绑定配置对象的 ConfigValidator- Type Parameters:
T- the config type | 配置类型- Parameters:
configClass- the config class to bind and validate | 要绑定和验证的配置类prefix- the config prefix | 配置前缀- Returns:
- config validator | 配置验证器
-
forRequiredKeys
Creates a ConfigValidator for required keys with validation annotations. 创建带验证注解的必需键的 ConfigValidator- Parameters:
requiredKeys- required config keys | 必需的配置键- Returns:
- config validator | 配置验证器
-
forPatterns
Creates a ConfigValidator that validates values against patterns. 创建根据模式验证值的 ConfigValidator- Parameters:
patterns- map of config keys to regex patterns | 配置键到正则模式的映射- Returns:
- config validator | 配置验证器
-
combine
Combines multiple validators into one. 将多个验证器组合为一个- Parameters:
validators- validators to combine | 要组合的验证器- Returns:
- combined validator | 组合后的验证器
-