Hola como están, estaba haciendo el ejercicio de ejemplo que plantea el artículo para crear anotaciones, en el método de validador cuando compara la edad calculada por la fecha de nacimiento y la edad minima con valor planteado, estaría mal escrita el nombre de la variable edadMinima, este mismo se encuentra en Mayúscula (la misma esta resaltado con** ):
public static <T> boolean validador(T objeto) {
Class<?> clase = objeto.getClass();
for (Field field : clase.getDeclaredFields()) {
if (field.isAnnotationPresent(EdadMinima.class)) {
EdadMinima edadMinima = field.getAnnotation(EdadMinima.class);
try{
field.setAccessible(true);
LocalDate fechaNacimiento = (LocalDate) field.get(objeto);
return Period.between(fechaNacimiento, LocalDate.now()).getYears() >= **EdadMinima**.valor();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
return false;
}
Nos vemos