, , , . -, . , . , , , . ( , , ). getter, () . , i18n.
- @Alexandre Santos. , . . , /:
public static void main(String[] args) {
Violations violations = new Violations();
Integer age = AgeValidator.parse("0042", "age", violations);
URL url = UrlValidator.parse("http://some.website.com", "url", violations);
}
public class AgeValidator {
private static final Collection<Validator<String>> VALIDATORS = ...;
public static Integer parse(String value, String name, Violations violations) {
try {
for (Validator<String> validator : VALIDATORS) validator.validate(value);
} catch (ValidationException e) {
violations.add(name, e);
}
return violations.existFor(name) ? null : Integer.parseInt(value);
}
}