我有一个使用默认值的WSDL文件,我想生成ObjectFactory类,这些类使用CXF使用这些默认值创建方法。例如,我有一个这样定义的对象
<xsd:complexType name="Smoker">
<xsd:sequence>
<xsd:element default="0" minOccurs="0" name="numCigarettesPerDay" nillable="false" type="xsd:integer"/>
<xsd:element default="0" minOccurs="0" name="numYearsSmoking" nillable="false" type="xsd:integer"/>
</xsd:sequence>
</xsd:complexType>
我想要一个这样的方法
public Smoker createSmoker() {
Smoker smoker = new Smoker();
smoker.setNumCigarettesPerDay(0);
smoker.setNumYearsSmoking(0);
return smoker;
}
代替这个
public Smoker createSmoker() {
return new Smoker();
}
最佳答案
CXF XJC默认值插件提供了XJC插件,该插件更新了生成的bean,以返回在架构中定义的实例中未设置字段的默认值。
在这些链接中,您可以找到有关所需做的更多信息:
http://cxf.apache.org/cxf-xjc-dv.html
http://java.net/projects/jaxb2-commons/pages/Default-Value
希望这可以帮助。