JAXB:如何判断某个类是否可以无法注释

问题描述:

我们有一个类,无法控制源,因此无法为JAXB注释它。我们也有一个框架来照顾编组。有没有什么办法让这个框架在没有注释的情况下要求这个类是否可以编组?JAXB:如何判断某个类是否可以无法注释

没有标准的机制,但我似乎人们做到这一点,试图在类创建的JAXBContext:

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

你不需要任何注释编组JAXB对象。您可以通过将它包装到JAXBElement中来获得具有@XmlRootElement的 。

如果你想的替代方法来表示的元数据,EclipseLink JAXB (MOXy)已经基于外在约束力的文件,对JAXB元

样本文件看起来像:

<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> 

欲了解更多信息,请参见: