Assume I have class Laptop and its annotated with @ProcessorConstraint It is Java code without any frameworks. In Spring Framework you can implement custom annotation, then you create annotation handler class, that is implicitly handles your annotated fields/classes, etc. But how can I do that implicitely with Java only?
Now I have code, that checks "If class annotated - check field for nullable":
public static void main(String[] args) {
        Laptop laptop = new Laptop("Scissor keyboard");
        System.out.println(laptop);
        validateLaptop(laptop);
        laptop.setProcessor("Intel 7");
        validateLaptop(laptop);
    }
    private static void validateLaptop(Laptop laptop) {
        boolean annotationPresent = laptop.getClass().isAnnotationPresent(ProcessorConstraint.class);
        if (annotationPresent) {
            if (laptop.getProcessor() == null) {
                throw new RuntimeException("Processor must not be null");
            }
        }
    }
But it is explicitly and I have to check each object for that. What should I do to avoid this?
Aucun commentaire:
Enregistrer un commentaire