2012-04-26 80 views
1

我有一个带String属性的简单POJO。这个String属性实际上包含由Java Enum支持的值。由于我不想在这里介绍的原因,我不能只在我的POJO上使用枚举类型。是否有任何JAXB注释可以在String属性上使用,以便在生成XSD时,我将值限制为Enum值的后备列表?JAXB映射字符串以在生成的XSD中枚举值

回答

1

您应该能够使用XmlAdapter这个用例:

public class MyEnumAdapter extends XmlAdapter<MyEnum, String> { 
    ... 
} 

然后在你的类上对应于枚举的String财产登记XmlAdapter

@XmlJavaTypeAdapter(MyEnumAdapter.class) 
public String getValue() { 
    return value; 
} 
+1

工作很好!我只需要将一个XmlType注释添加到我的枚举中,以便它匹配其他实体的命名空间。 – 2012-04-26 20:48:12