是的,可以通过自定义jaxb绑定,可以在codegen中添加为文件.
在jaxb绑定中,有fixedAttributeAsConstantProperty属性.将此设置为true,指示代码生成器使用fixed属性生成属性为java-constants.
有两种选择:
1.通过全球约束:
然后使用固定值将所有属性设置为常量
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
jaxb:version="2.0">
...
2.通过本地映射:
其中仅定义特定属性的fixedAttributeAsConstantProperty属性.
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
jaxb:version="2.0">
...
这两个例子都应该导致:
@XmlRootElement(name = "example")
public class Example {
@XmlAttribute
public final static int SOMECONSTANT = 42;
}