我在xsd中有这样的东西(我无法编辑):
<xsd:simpleType name="Foo">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="BAR"/>
</xsd:restriction>
</xsd:simpleType>
JAXB在表示element的类中生成此java代码,该代码具有Foo
作为子代:
public Foo getValue() {
return value;
}
public void setValue(Foo value) {
this.value = value;
}
但是Foo
只有一个可能的值,所以我希望在我的java代码中看到类似的内容:
public Foo getValue() {
if( value == null )
{
return Foo.BAR; //Foo already is defined as enum, so this code is fine
}
return value;
}
是否有一些简单的方法可以在JAXB中实现这一点?
答案 0 :(得分:1)
总结一下,你期待Foo的默认值?如果是这样,请尝试在Foo类型元素上添加默认值。
请参阅http://www.w3.org/TR/xmlschema-0/#OccurrenceConstraints获取默认值