static void check(Person person) throws IllegalArgumentException, ReflectiveOperationException {
for (Field field : person.getClass().getFields()) {
Range range = field.getAnnotation(Range.class);
if (range != null) {
Object value = field.get(person);
// TODO:
if (value instanceof String && field.getName().equals("name")) {
String s = (String) value;
if (s.length() < range.min() || s.length() > range.max())
throw new IllegalArgumentException("Invalid field: " + field.getName());
}else if (value instanceof String && field.getName().equals("city")) {
}else if (value instanceof Integer && field.getName().equals("age")) {
int s = (int) value;
if (s < range.min() || s > range.max())
}
Sign in to make a reply
Calotte_
static void check(Person person) throws IllegalArgumentException, ReflectiveOperationException {
for (Field field : person.getClass().getFields()) {
Range range = field.getAnnotation(Range.class);
if (range != null) {
Object value = field.get(person);
// TODO:
if (value instanceof String && field.getName().equals("name")) {
String s = (String) value;
if (s.length() < range.min() || s.length() > range.max())
throw new IllegalArgumentException("Invalid field: " + field.getName());
}else if (value instanceof String && field.getName().equals("city")) {
String s = (String) value;
if (s.length() < range.min() || s.length() > range.max())
throw new IllegalArgumentException("Invalid field: " + field.getName());
}else if (value instanceof Integer && field.getName().equals("age")) {
int s = (int) value;
if (s < range.min() || s > range.max())
throw new IllegalArgumentException("Invalid field: " + field.getName());
}
}
}
}
}