import java.util.List;
import java.util.ArrayList;
public class ConfigValidator {
/**
* Validates a list configuration against predefined rules.
*
* @param config The list configuration to validate.
* @param expectedSize The expected size of the list.
* @param allowedValues A list of allowed values for elements in the list.
* @return True if the configuration is valid, false otherwise.
*/
public static boolean validateListConfig(List<?> config, int expectedSize, List<?> allowedValues) {
if (config == null) {
System.err.println("Error: Config list cannot be null.");
return false;
}
if (config.size() != expectedSize) {
System.err.println("Error: Config list size is incorrect. Expected: " + expectedSize + ", Actual: " + config.size());
return false;
}
for (Object item : config) {
if (!allowedValues.contains(item)) {
System.err.println("Error: Invalid value in config list: " + item);
return false;
}
}
return true;
}
public static void main(String[] args) {
//Example Usage
List<String> validConfig = new ArrayList<>();
validConfig.add("value1");
validConfig.add("value2");
validConfig.add("value3");
List<String> invalidConfigSize = new ArrayList<>();
invalidConfigSize.add("value1");
invalidConfigSize.add("value2");
List<String> invalidConfigValue = new ArrayList<>();
invalidConfigValue.add("value1");
invalidConfigValue.add("invalidValue");
invalidConfigValue.add("value3");
List<String> allowedValues = List.of("value1", "value2", "value3");
System.out.println("Valid Config: " + validateListConfig(validConfig, 3, allowedValues));
System.out.println("Invalid Config Size: " + validateListConfig(invalidConfigSize, 3, allowedValues));
System.out.println("Invalid Config Value: " + validateListConfig(invalidConfigValue, 3, allowedValues));
}
}
Add your comment