Class EnumValidator
java.lang.Object
io.aiven.commons.kafka.config.validator.EnumValidator
Validates that a configuration value string is a case-insensitive match to an
Enum constant.
Given an enum:
enum X {
ONE, TWO, THREE, one
};
You can create a case-insensitive validator from the Enum class (recommended
for usability: enum constants do not usually differ only by case):
var validator = EnumValidator.caseInsensitive(X.class);
validator.ensureValid("config.name", "One"); // passes
validator.ensureValid("config.name", "ONE"); // passes
validator.ensureValid("config.name", "Three"); // passes
validator.ensureValid("config.name", "four"); // throws ConfigException
or a case-sensitive validator, if necessary:
var validator = EnumValidator.caseInsensitive(X.class);
validator.ensureValid("config.name", "one"); // passes
validator.ensureValid("config.name", "One"); // throws ConfigException
validator.ensureValid("config.name", "ONE"); // passes
validator.ensureValid("config.name", "Three"); // throws ConfigException
validator.ensureValid("config.name", "four"); // throws ConfigException
-
Method Summary
Modifier and TypeMethodDescriptionstatic org.apache.kafka.common.config.ConfigDef.ValidatorcaseInsensitive(Class<? extends Enum<?>> enumClass) Creates a case insensitive EnumValidator.static org.apache.kafka.common.config.ConfigDef.ValidatorcaseSensitive(Class<? extends Enum<?>> enumClass) Creates a case sensitive EnumValidator.
-
Method Details
-
caseInsensitive
public static org.apache.kafka.common.config.ConfigDef.Validator caseInsensitive(Class<? extends Enum<?>> enumClass) Creates a case insensitive EnumValidator.- Parameters:
enumClass- the class of the Enum that defines the valid values.- Returns:
- a validator that allows any string value that is a case-insensitive match for the enum constants in the given Enum class
-
caseSensitive
public static org.apache.kafka.common.config.ConfigDef.Validator caseSensitive(Class<? extends Enum<?>> enumClass) Creates a case sensitive EnumValidator.- Parameters:
enumClass- the class of the Enum that defines the valid values.- Returns:
- a validator that allows any string value that is a case-sensitive match for the enum constants in the given Enum class
-