Necesidad de generar anotaciones JAXB en package-info.java del archivo de enlace
binding adapter (1)
Desafortunadamente, la elegante sintaxis anterior no funciona cuando se definen elementos de personalización en archivos de enlace externos. El complemento Annotate le proporciona una forma de leer las anotaciones de las personalizaciones de enlace XJC y agregarlas automáticamente a sus clases de XmlAdapter. Por lo tanto, sus clases de adaptadores se agregarán a su paquete-info.java.
<jaxb:bindings
version="2.1"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:annox="http://annox.dev.java.net"
jaxb:extensionBindingPrefixes="annox">
<jaxb:bindings schemaLocation="schema.xsd" node="/xs:schema">
...
<jaxb:bindings node="xs:complexType[@name=''...'']/xs:sequence/xs:element[@name=''name'']">
<annox:annotate>
<annox:annotate
annox:class="org.hibernate.search.annotations.FieldBridge"
impl="com.acme.foo.MyFieldBridge">
<annox:annotate annox:field="params">
<annox:annotate annox:class="org.hibernate.search.annotations.Parameter"
name="foo"
value="bar"/>
</annox:annotate>
</annox:annotate>
</annox:annotate>
</jaxb:bindings>
...
</jaxb:bindings>
</jaxb:bindings>
Produce:
@FieldBridge(impl = com.acme.foo.MyFieldBridge.class, params = {
@Parameter(name = "foo", value = "bar")
})
La otra forma es agregar enlaces a su esquema: directamente en los archivos de esquema:
ver el complemento Annotate
Tengo una anotación para un XmlAdapter
que necesito poner en package-info.java. El problema es que nuestro package-info.java se genera automáticamente desde XJC. ¿Hay alguna forma de utilizar el archivo de enlace JAXB para agregar automáticamente esta anotación a package-info.java cuando se genera?
@javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters
({
@javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter(value=Adapter.class,type=Original.class)
})
¡Gracias por tu ayuda!