我通过对象图进行遍历以获取所有字段及其给定的注释,并希望根据注释验证从XSD构建的域对象。
然而,由于我不知道如何获取必需属性的值,我卡在@XmlElement上。
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlElement;
public class SomeClass {
@XmlElement(name = "user_id", required = true)
@NotNull
protected String userId;
}
这一定很简单,但是当我检测到给定的注释是@XmlElement类型时,我无法想象如何检查所需的属性是否设置为true。
if(annotation.annotationType().equals(XmlElement.class)) {
// how to check value of required atrribute
}
答案 0 :(得分:1)
你可以这样做:
// iterate over the fields in the required class. check if the annotatino is present
if (inputField.isAnnotationPresent(XmlElement.class)) {
XmlElement xmlElementAnnotation = inputField.getAnnotation(XmlElement.class);
// get 'required' value
if(xmlElementAnnotation.required()) {
// logic
}
}