2017-09-25 5 views
0

J'essaie de générer des énumérations à partir d'un simple type de base int en utilisant le Maven maven-jaxb2-plugin. Mais aucune énumération n'est générée.Générer des enums de base int

Je peux voir que le générateur utilise le fichier de liaison, car il génère des erreurs s'il ne trouve pas de correspondance.

Lorsque je change la base en string l'enum est généré (mais je ne suis pas autorisé à changer la base).

J'ai donc quelque chose de mal configuré, ou est-ce simplement impossible?

xsd-extrait:

<xs:simpleType name="codeType"> 
    <xs:restriction base="xs:int"> 
    <xs:enumeration value="200"/> 
    <xs:enumeration value="400"/> 
    </xs:restriction> 
</xs:simpleType> 

extrait reliures fichier:

<jaxb:bindings schemaLocation="some.xsd"> 
    <jaxb:bindings node="//xs:simpleType[@name='codeType']/xs:restriction/xs:enumeration[@value='200']"> 
    <jaxb:typesafeEnumMember name="OK" /> 
    </jaxb:bindings> 
    <jaxb:bindings node="//xs:simpleType[@name='codeType']/xs:restriction/xs:enumeration[@value='400']"> 
    <jaxb:typesafeEnumMember name="BAD_REQUEST" /> 
    </jaxb:bindings> 
</jaxb:bindings> 

Répondre

0

j'ai finalement réussi, que le ENUM est généré.

extrait reliures fichier:

<jaxb:bindings schemaLocation="some.xsd"> 
    <jaxb:bindings node="//xs:simpleType[@name='codeType']"> 
    <jaxb:typesafeEnumClass> 
     <jaxb:typesafeEnumMember value="200" name="OK" /> 
     <jaxb:typesafeEnumMember value="400" name="BAD_REQUEST" /> 
    </jaxb:typesafeEnumClass> 
    </jaxb:bindings> 
</jaxb:bindings> 

Voir https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Developing_Applications_Using_JAX-WS/files/JAXWSCustomTypeMappingEnum.html pour plus de détails.