2016-03-29 22 views
1

xsd şemam var ve sınıflarım bu şemadan üretiliyor.Şemadan @XmlJavaTypeAdapter ile java sınıfı oluştur

Bazı türlerin doğru şekilde sıralama/unmarshall işlemi için XmlAdapter'e ihtiyacım var. Bu tür bir bağdaştırıcıyı (ör. MyAdapter) oluşturdum, ancak sınıflarım şemadan üretildiğinden, bunu @XmlJavaTypeAdapter (MyAdapter.class) aracılığıyla ekleyemiyorum.

Tanımlanan bağdaştırıcıyla sınıftan sınıf oluşturmak mümkün mü?

örneğin ben düzeni var -> Ben

@XmlType(name = "someName") 
@XmlEnum 
@XmlJavaTypeAdapter(MyAdapter.class) 
public enum MyGeneratedClass { 
    // ... 
} 

XJC

düzeni Java sınıfları oluşturmak için kullanılır istiyorum.

cevap

2

Örneğin <xs:annotation>

kullanmayı deneyin:

<xs:simpleType name="myType"> 
    <xs:annotation> 
     <xs:appinfo> 
     <xjc:javaType name="com.seriouscompany.seriousproduct.MyType" 
      adapter="com.seriouscompany.seriousproduct.MyAdapter" /> 
     </xs:appinfo> 
    </xs:annotation> 
    .... 

Bu yardımcı olmalıdır.

+0

çalışmıyor: https://stackoverflow.com/questions/46037803/why-jaxb-adapter-annotation-is-not-added-to-the-proxy-classes – grep