2010-08-05 8 views

Répondre

2

Il n'y a pas de mécanisme standard, mais je semblent les gens à accomplir cela en essayant de créer la JAXBContext de la classe:

public boolean isValidJAXBClass(Class aClass) { 
    try { 
     JAXBContext.newInstance(aClass); 
    } catch(JAXBException e) { 
     return false; 
    } 
    return true; 
} 

Vous n'avez pas besoin des annotations pour rassembler un objet JAXB. Vous pouvez contourner avoir avoir un @XmlRootElement en l'enveloppant dans un JAXBElement.

Si vous voulez un autre moyen de représenter les métadonnées, EclipseLink JAXB (MOXy) a un fichier de liaison extériorisée basé sur les métadonnées JAXB

Un exemple de fichier ressemble à:

<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"> 
    <java-types> 
     <java-type name="org.example.order.PurchaseOrder"> 
      <java-attributes> 
       <xml-attribute java-attribute="id"/> 
       <xml-element java-attribute="customer"> 
        <xml-java-type-adapter value="org.example.order.CustomerAdapter"/> 
       </xml-element> 
       <xml-element java-attribute="lineItems" name="line-item"/> 
      </java-attributes> 
     </java-type> 
    </java-types> 
</xml-bindings> 

Pour plus d'informations, voir:

Questions connexes