public class PaperInputField {
private String name;
private String type;
private PaperInputValidator validator;
public PaperInputField(String name, String type, PaperInputValidator validator) {
this.name = name;
this.type = type;
this.validator = validator;
}
// ...
public boolean validate(String value) {
return validator.validate(value);
}
}
public interface PaperInputValidator {
boolean validate(String value);
}
public class PaperInputProcessor {
private List<PaperInputField> fields;
public PaperInputProcessor(List<PaperInputField> fields) {
this.fields = fields;
}
public Map<String, Boolean> process(Map<String, String> formData) {
Map<String, Boolean> validationResults = new HashMap<>();
for (PaperInputField field : fields) {
String fieldName = field.getName();
String fieldValue = formData.getOrDefault(fieldName, "");
boolean isValid = field.validate(fieldValue);
validationResults.put(fieldName, isValid);
}
return validationResults;
}
}