有没有办法将JSR303-annotations添加到cxf生成的类中?

时间:2012-09-03 14:01:50

标签: java jaxb bean-validation

标题可能说了一切,我想知道是否可以告诉cxf-codegen-plugin添加,例如,xsd-patterns为@Pattern注释。模式验证很好,但有时候我只是想检查单个元素而不是无数无数的xml行。

因此我想知道是否有一个技巧/选项/肮脏的黑客可以帮助我转向

<xs:simpleType name="string2000">
    <xs:restriction base="xs:string">
        <xs:maxLength value="2000"/>
        <xs:minLength value="1"/>
        <xs:pattern value="[\p{IsBasicLatin}\p{IsLatin-1Supplement}-[ \t\r\n]][\p{IsBasicLatin}\p{IsLatin-1Supplement}-[\t\r\n]]*"/>
    </xs:restriction>
</xs:simpleType>

@Pattern(regexp = "\\p{IsBasicLatin}\\p{IsLatin-1Supplement}-[ \\t\\r\\n]][\\p{IsBasicLatin}\\p{IsLatin-1Supplement}-[\\t\\r\\n]]*")
@Size(min = 1, max = 2000)

因为手动添加它是一个禁止使用这个数量的xml,它会让事情变得更容易。

1 个答案:

答案 0 :(得分:1)

我对cxf-codegen-plugin没有直接经验,但我也需要将从XSD派生的@Pattern@Size和其他<xs:restriction />注释包含到我的JAXB中生成的类并最终使用krasa-jaxb-tool来实现这一点。

Blaise Doughan中查看including-xsrestrictions-as-annotations-in-moxy-generated-java-classes的答案。