2012-04-26 64 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