我有一个简单的带有字符串属性的POJO。此 String 属性实际上包含由 Java 枚举支持的值。出于我不会在这里讨论的原因,我不能只在我的 POJO 上使用枚举类型。是否可以在 String 属性上使用任何 JAXB 注释,以便在生成 XSD 时将值限制为枚举值的支持列表?
您应该能够为此用例使用XmlAdapter
:
public class MyEnumAdapter extends XmlAdapter<MyEnum, String> {
...
}
然后在类上注册与枚举对应的 String
属性上的XmlAdapter
。
@XmlJavaTypeAdapter(MyEnumAdapter.class)
public String getValue() {
return value;
}