我正在尝试创建自己的验证器,用于验证YAML配置文件中的List<String>
读取。我想要做的是针对我创建的Enum类验证它,如下所示:
public enum BundleName {
DK("dk.bundle"),
UK("uk.bundle"),
US("us.bundle"),
DK_DEBUG("dk.bundle.debug"),
UK_DEBUG("uk.bundle.debug"),
US_DEBUG("us.bundle.debug"),
;
private String bundleName;
BundleName(String bundleName) {
this.bundleName = bundleName;
}
public String getBundleName() {
return this.bundleName
}
}
我的YAML文件定义如下:
bundleNames:
- ${DK}
- ${UK}
- ${US}
- ${DK_DEBUG}
- ${UK_DEBUG}
- ${US_DEBUG}
现在可以设置其中一些环境变量,或者可以设置所有这些变量,或者只设置一个。不同的环境不同的组合。无论如何我想要的是能够针对枚举bundleName
中的BundleName.class
验证这些环境变量。现在Hibernate有一个很好的example,以及我在网上找到的所有其他示例,其中验证是针对特定的简单枚举完成的。我不想检查枚举名称但枚举值,我根本无法弄清楚如何。我尝试过的所有内容都是我在其他帖子中找到的一些组合,例如this和this等等。
在我的ApiConfiguration.java
中,我希望在YAML上的列表中找到类似以下的内容:
@NotNull
@BundleNameValidation(acceptedValues = BundleName.class)
private List<String> bundleNames;
如果可能的话。