如果您查看jsr-303(bean验证),您会注意到注释可以放在@target中的ANNOTATION_TYPE
上(例如javax.validation.constraints.Min
)
通过这种方式,bean验证很容易扩展到@OnlyPositiveNumber
。
在jaxb中为例子(一个坏的)我可以创建@XmlAlwaysRequiredElement
像XmlElement
这样的JAXB注释是否有充分理由不使用相同的技术?
答案 0 :(得分:3)
我怀疑你可以说“因为X而没有完成” - 它就是这样,并且规范引线不认为有必要,或者他们根本没有想到它。谁知道呢。
但是,在这种情况下,我真的不太需要它。您的示例涉及数据验证,JAXB旨在与XML Schema一起使用,而不是使用注释进行验证。
如果我们想要为JAXB进行基于注释的验证,那么为此使用JSR-303验证会更有意义,并让JAXB运行时选择并使用它们,而不是,或者除此之外, XML Schema验证。但是,目前的实现都没有这样做(我认为)。