Tôi muốn xác thực đối số của mình bằng chú thích Java. Tôi không phải bây giờ làm thế nào để sử dụng viết một chú thích của riêng cho danh sách.Danh sách có chú giải Java
Dưới đây là một ví dụ đơn giản:
class test{
@myAnnotation
List<myObject> myElements =new List<>(); // validated List
}
class myObject{
String name;
}
tôi Interface chú giải:
@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;
}
}
Trong ví dụ này Danh sách của tôi là hợp lệ, nếu mỗi phần tử từ Danh sách của tôi có tên khác. Tôi không biết làm thế nào tôi có được listobject trong lớp Validator của tôi và tên của các phần tử myObject.
UPDATE:
tôi cố gắng để mô tả câu hỏi của tôi theo cách khác:
danh sách của tôi là không hợp lệ nếu hai yếu tố từ loại "myObject" trong danh sách của tôi ("myElements") có cùng tên!
Làm cách nào tôi có thể nhận ra điều này bằng Chú thích?
Có lý do cụ thể nào để chọn chú thích trên một số danh sách được trang trí không? –
bạn đã xem http://stackoverflow.com/questions/7865209/how-to-create-a-constraintvalidator-for-list –