使用来自方案的@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>
    ....

这应该有所帮助。