使用来自方案的@XmlJavaTypeAdapter 生成 java class
Generate java class with @XmlJavaTypeAdapter from scheme
我有 xsd 模式,我的 classes 是从该模式生成的。
我需要 Xml 适配器才能正确 marshaling/unmarshalling 某些类型。
我创建了这样的适配器(例如 MyAdapter
),但我不能通过 @XmlJavaTypeAdapter(MyAdapter.class) 添加它,因为我的 classes 是从方案中产生。
是否可以从定义了适配器的方案生成 class?
例如我有方案->我想要
@XmlType(name = "someName")
@XmlEnum
@XmlJavaTypeAdapter(MyAdapter.class)
public enum MyGeneratedClass {
// ...
}
XJC
用于根据方案创建 Java classes。
尝试使用<xs:annotation>
例如:
<xs:simpleType name="myType">
<xs:annotation>
<xs:appinfo>
<xjc:javaType name="com.seriouscompany.seriousproduct.MyType"
adapter="com.seriouscompany.seriousproduct.MyAdapter" />
</xs:appinfo>
</xs:annotation>
....
这应该有所帮助。
我有 xsd 模式,我的 classes 是从该模式生成的。
我需要 Xml 适配器才能正确 marshaling/unmarshalling 某些类型。
我创建了这样的适配器(例如 MyAdapter
),但我不能通过 @XmlJavaTypeAdapter(MyAdapter.class) 添加它,因为我的 classes 是从方案中产生。
是否可以从定义了适配器的方案生成 class?
例如我有方案->我想要
@XmlType(name = "someName")
@XmlEnum
@XmlJavaTypeAdapter(MyAdapter.class)
public enum MyGeneratedClass {
// ...
}
XJC
用于根据方案创建 Java classes。
尝试使用<xs:annotation>
例如:
<xs:simpleType name="myType">
<xs:annotation>
<xs:appinfo>
<xjc:javaType name="com.seriouscompany.seriousproduct.MyType"
adapter="com.seriouscompany.seriousproduct.MyAdapter" />
</xs:appinfo>
</xs:annotation>
....
这应该有所帮助。