Class ConfigValidator

java.lang.Object
com.loomcache.server.config.ConfigValidator

public class ConfigValidator extends Object
Type-safe validation for configuration values.

Provides built-in validators for common types and supports custom validators. Validators are registered by configuration key and applied before accepting changes.

  • Constructor Details

    • ConfigValidator

      public ConfigValidator()
  • Method Details

    • validate

      public static ValidationResult validate(String key, String value)
      Validate a configuration key-value pair.
      Parameters:
      key - the configuration key
      value - the configuration value
      Returns:
      ValidationResult indicating validity
    • registerValidator

      public static void registerValidator(String key, ConfigValidator.Validator validator)
      Register a validator for a specific configuration key.
      Parameters:
      key - the configuration key
      validator - the validator function
    • registerIntRangeValidator

      public static void registerIntRangeValidator(String key, int minInclusive, int maxInclusive)
      Register an integer range validator.
      Parameters:
      key - the configuration key
      minInclusive - minimum allowed value (inclusive)
      maxInclusive - maximum allowed value (inclusive)
    • registerLongRangeValidator

      public static void registerLongRangeValidator(String key, long minInclusive, long maxInclusive)
      Register a long range validator.
      Parameters:
      key - the configuration key
      minInclusive - minimum allowed value (inclusive)
      maxInclusive - maximum allowed value (inclusive)
    • registerBooleanValidator

      public static void registerBooleanValidator(String key)
      Register a boolean validator.
      Parameters:
      key - the configuration key
    • registerEnumValidator

      public static void registerEnumValidator(String key, String... allowedValues)
      Register an enumeration validator.
      Parameters:
      key - the configuration key
      allowedValues - the allowed enum values
    • registerRegexValidator

      public static void registerRegexValidator(String key, String pattern)
      Register a regex pattern validator.
      Parameters:
      key - the configuration key
      pattern - the regex pattern to match
    • registerDurationValidator

      public static void registerDurationValidator(String key)
      Register a duration validator (format: \d+ms, \d+s, etc.).
      Parameters:
      key - the configuration key
    • clearValidators

      public static void clearValidators()
      Clear all validators (useful for testing).
    • getValidatorCount

      public static int getValidatorCount()
      Get the number of registered validators.
      Returns:
      count of validators