Class ConfigValidator
java.lang.Object
com.loomcache.server.config.ConfigValidator
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceFunctional interface for custom validators. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidClear all validators (useful for testing).static intGet the number of registered validators.static voidRegister a boolean validator.static voidRegister a duration validator (format: \d+ms, \d+s, etc.).static voidregisterEnumValidator(String key, String... allowedValues) Register an enumeration validator.static voidregisterIntRangeValidator(String key, int minInclusive, int maxInclusive) Register an integer range validator.static voidregisterLongRangeValidator(String key, long minInclusive, long maxInclusive) Register a long range validator.static voidregisterRegexValidator(String key, String pattern) Register a regex pattern validator.static voidregisterValidator(String key, ConfigValidator.Validator validator) Register a validator for a specific configuration key.static ValidationResultValidate a configuration key-value pair.
-
Constructor Details
-
ConfigValidator
public ConfigValidator()
-
-
Method Details
-
validate
Validate a configuration key-value pair.- Parameters:
key- the configuration keyvalue- the configuration value- Returns:
- ValidationResult indicating validity
-
registerValidator
Register a validator for a specific configuration key.- Parameters:
key- the configuration keyvalidator- the validator function
-
registerIntRangeValidator
Register an integer range validator.- Parameters:
key- the configuration keyminInclusive- minimum allowed value (inclusive)maxInclusive- maximum allowed value (inclusive)
-
registerLongRangeValidator
Register a long range validator.- Parameters:
key- the configuration keyminInclusive- minimum allowed value (inclusive)maxInclusive- maximum allowed value (inclusive)
-
registerBooleanValidator
Register a boolean validator.- Parameters:
key- the configuration key
-
registerEnumValidator
-
registerRegexValidator
-
registerDurationValidator
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
-