是否可以创建用作界面的注释?

时间:2019-04-28 13:43:01

标签: java annotations

我创建了一个通用的验证方法,该方法主要验证一​​个bean(休眠验证器),然后返回已验证的约束违反消息列表。 无论如何,为了使它“通用”,我定义了一个接口,该接口什么都不做,但限定实现它的类。

看起来像这样:

public interface Validatable {
}


public class A implements Validatable {
   @NotBlank
   private String name;
}

public class B implements Validatable {
   @NotNull
   private int age;
}

private List<String> validate(Validatable bean) {
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();

    Set<ConstraintViolation<Validatable>> violations = validator.validate(bean);

    List<String> validationErrors = violations.stream()
            .map(ConstraintViolation::getMessage)
            .collect(Collectors.toList());

    return validationErrors;
}

关于我提出的注释问题,我想知道是否可以定义Validatable注释,以便可以使用它同时标记AB而不是实现空接口。

我不认为这是最好的方法。不确定注解是可行的还是最佳选择。有什么建议吗?

0 个答案:

没有答案