Chcę sprawdzić poprawność moich argumentów za pomocą adnotacji Java. Nie wiem teraz, jak używać własnych adnotacji do list.Listy z adnotacjami Java
tutaj jakiś prosty przykład:
class test{
@myAnnotation
List<myObject> myElements =new List<>(); // validated List
}
class myObject{
String name;
}
mój Adnotacja Interfejs:
@Target({ElementType.TYPE,ElementType.METHOD,ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy=myAnnotation_Validator.class)
@Documented
public @interface myAnnotation {
String message() default "List is not valid";
Class <?>[] groups() default {};
Class <?extends Payload>[] payload() default{};
String[] namen();
}
public class myAnnotation_Validator implements ConstraintValidator<myAnnotation, Collection> {
@Override
public void initialize(Kredite_List_Check a) {
// What to do here???
}
@Override
public boolean isValid(Collection t, ConstraintValidatorContext cvc) {
// What to do here???
// How could i get the names from my List "myElements" ?
return false;
}
}
W tym przykładzie mojej liście jest ważna, jeśli każdy element z mojej listy ma inną nazwę. Nie wiem, jak uzyskać listę obiektów w mojej klasie Validator i nazwach elementów myObject.
UPDATE:
próbuję opisać moje pytanie w inny sposób:
moja lista nie jest ważne, jeśli dwa elementy z typu „MyObject” W mojej liście („myElements”) mają taką samą nazwę!
Jak mogę to zrozumieć za pomocą adnotacji?
Czy istnieje jakiś konkretny powód, aby wybrać adnotacje nad niektórymi udekorowanymi listami? –
patrzysz na http://stackoverflow.com/questions/7865209/how-to-create-a-strastraimulatorator- for-list –