Class ConfigValidators

java.lang.Object
io.github.theword.queqiao.core.config.validation.ConfigValidators

public final class ConfigValidators extends Object
常用校验器工厂

校验器属于 ConfigKey,而不是集中在一个庞大的规则表里—— 因此将来出现新约束时只需在这里加一个工厂方法,不必改 ConfigKey 的核心结构。

Since:
0.6.12
  • Method Details

    • range

      public static <T extends Comparable<T>> ConfigValidator<T> range(T min, T max)
      闭区间范围校验
      Type Parameters:
      T - 可比较的数值类型
      Parameters:
      min - 最小值(含)
      max - 最大值(含)
      Returns:
      校验器
    • atLeast

      public static <T extends Comparable<T>> ConfigValidator<T> atLeast(T min)
      最小值校验(含边界),适用于有自然类型上限但不设置业务最大值的配置。
      Type Parameters:
      T - 可比较的值类型
      Parameters:
      min - 最小值(含)
      Returns:
      校验器
    • positive

      public static <T extends Comparable<T>> ConfigValidator<T> positive(T zero)
      必须为正数(> 0)
      Type Parameters:
      T - 可比较的数值类型
      Returns:
      校验器
    • nonEmpty

      public static ConfigValidator<String> nonEmpty()
      字符串非空(允许 null 时不校验,由 codec 决定 null 的语义)
      Returns:
      校验器
    • oneOf

      @SafeVarargs public static <T> ConfigValidator<T> oneOf(T... allowed)
      取值必须在给定集合内
      Type Parameters:
      T - 值类型
      Parameters:
      allowed - 允许的取值
      Returns:
      校验器
    • notEmpty

      public static <T> ConfigValidator<Collection<T>> notEmpty()
      列表非空(null 视为空)
      Type Parameters:
      T - 元素类型
      Returns:
      校验器