2010-09-15 3 views
2

Lorsque vous générez des classes Java avec JAXB, vous obtenez toujours une classe nommée ObjectFactory. Dans cette classe, il y a un attribut privé QName avec l'espace de noms.JAXB Rendre QName accessible dans Objectfactory

Est-il possible de dire au générateur de rendre cet attribut accessible de l'extérieur. Alors peut-être le rendre public ou créer un getter pour cela?

Répondre

3

Je crois que ces private static QName champs sont générés uniquement si les méthodes ObjectFactory besoins qui créent des instances JAXBElement<...>. Si vous appelez l'une de ces méthodes pour obtenir une instance JAXBElement, vous pouvez ensuite appeler sa méthode getName pour récupérer son QName associé.

+0

Je peux créer un tel JAXBElement <> en passant une valeur null dans la méthode createXXX(). Avec cet objet créé, je pourrais utiliser la méthode getName(). Merci pour cette solution. – flash

+0

J'ai trouvé que c'était aussi le meilleur moyen. En outre, j'étend généralement la classe ObjectFactory générée et j'ajoute des méthodes finales publiques pour renvoyer les QNames. –

Questions connexes