Class ValidationModuleAdapter

java.lang.Object
cloud.opencode.base.config.validation.ValidationModuleAdapter

public final class ValidationModuleAdapter extends Object
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 Details

    • isValidationModuleAvailable

      public static boolean isValidationModuleAvailable()
      Checks if the Validation module is available. 检查 Validation 模块是否可用
      Returns:
      true if Validation module is available | 如果 Validation 模块可用返回 true
    • validateObject

      public static ValidationResult validateObject(Object object)
      Validates an object using OpenValidator if available. 如果可用,使用 OpenValidator 验证对象
      Parameters:
      object - the object to validate | 要验证的对象
      Returns:
      validation result | 验证结果
    • forObject

      public static <T> ConfigValidator forObject(Class<T> configClass, String prefix)
      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

      public static ConfigValidator forRequiredKeys(String... requiredKeys)
      Creates a ConfigValidator for required keys with validation annotations. 创建带验证注解的必需键的 ConfigValidator
      Parameters:
      requiredKeys - required config keys | 必需的配置键
      Returns:
      config validator | 配置验证器
    • forPatterns

      public static ConfigValidator forPatterns(Map<String,String> patterns)
      Creates a ConfigValidator that validates values against patterns. 创建根据模式验证值的 ConfigValidator
      Parameters:
      patterns - map of config keys to regex patterns | 配置键到正则模式的映射
      Returns:
      config validator | 配置验证器
    • combine

      public static ConfigValidator combine(ConfigValidator... validators)
      Combines multiple validators into one. 将多个验证器组合为一个
      Parameters:
      validators - validators to combine | 要组合的验证器
      Returns:
      combined validator | 组合后的验证器