JAXB: Anonyme types simples comme les énumérations?
Lors de la génération Java à partir d'un fichier XSD via le XJC compilateur, j'ai toujours le type java.lang.Chaîne pour les éléments avec anonyme simpleTypes comme ceci:
<xsd:element name="Product">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Product1"/>
<xsd:enumeration value="Product2"/>
<xsd:enumeration value="Product3"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
Bien sûr, je veux une énumération de ce. Est-il un moyen de tromper XJC en génération et l'utilisation d'un?
Nous sommes à l'aide de JAXB 2.1.3.
Remarque: avant de vous demander, non, je ne peux pas modifier le schéma et l'adapter à XJC de bugs.
OriginalL'auteur Hans-Peter Störr | 2009-02-25
Vous devez vous connecter pour publier un commentaire.
Vous avez à mettre dans votre XJC Fichier:
ou
OriginalL'auteur Hans-Peter Störr
Voici un exemple de la façon dont je l'ai fait. Je vais ajouter l'ensemble xjb pour l'exhaustivité car j'avoue en regardant les exemples existants, j'ai toujours trouvé ça un peu déroutant.
Heres la .xjb fichier
Ici, les liaisons se référer à mon des types simples qui sont déclarées au niveau de la racine dans ma recherche de contraintes.xsd. Voici un extrait de ce fichier:
OriginalL'auteur Kristofer
J'avais une question très semblable, j'ai demandé sur le JAXB liste de diffusion et a obtenu cette réponse utile (n'ai pas eu le temps de l'essayer tout de même)
edit: si vous parlez la génération automatique de l'énumération de la classe, plutôt que de simplement automatiquement la cartographie d'un enum classe que vous écrivez vous-même, je pense que vous pourriez écrire une classe java qui permettrait d'analyser le fichier de schéma et de générer automatiquement le code java pour que l'énumération. (puis exécutez-la java de la classe à chaque fois que vous appelez xjc)
Votre lien est rompu.
corrigé, merci.
OriginalL'auteur Jason S