Jaxb: How do I generate ObjectFactory class?

Dave :

I'm using Java 6, JaxB 2 and SpringSource Tool Suite (same as Eclipse). I had a couple of Java classes I wrote, from which I used JaxB to generate an XML schema. However, I'm noticing in order to use JaxB's ability to generate an XML document from Java objects, I need an ObjectFactory.

final Marshaller marshaller = jaxbContext.createMarshaller();
// Here is where I don't have an ObjectFactory defined
final JAXBElement<WebLeads> webLeadsElement  
         = (new ObjectFactory()).createWebLeads(webLeadsJavaObj);

How can I generate an ObjectFactory without blowing away the classes I already have now?

bdoughan :

UPDATE

This question may be referring to the role of ObjectFactory in creating a JAXBContext. If you bootstrap a JAXBContext on a context path then it will check for an ObjectFactory in that location in order to determine the classes in that package:

If you do not have an ObjectFactory but still wish to create you JAXBContext on a context path you can include a file called jaxb.index in that package listing files to be included in the JAXBContext (referenced classes will automatically pulled in):

Alternatively you can bootstrap you JAXBContext on an array of classes instead of a context path:


Is ObjectFactory Required

An ObjectFactory is not required, although even when starting from Java classes there are use cases where you can leverage a similar class annotated with @XmlRegistry in order to use the @XmlElementDecl annotation.

Creating an Instance of JAXBElement

You can always create the JAXBElement directly:

final JAXBElement<WebLeads> webLeadsElement = new JAXBElement<WebLeads>(
    new QName("root-element-name"), 
    WebLeads.class, 
    webLeadsJavaObj);

Alternative to JAXBElement

Or since JAXBElement is simply used to provide root element information, you can annotate your WebLeads class with @XmlRootElement:

@XmlRootElement(name="root-element-name")
public class WebLeads {
   ...
}

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

IntelliJ how do I generate a new class?

JAXB: How to generate English Javadoc

How can I tell jaxb / Maven to generate multiple schema packages?

How can I get the "Eclipse >Generate>Jaxb classes" option back?

How to generate a Java class which implements Serializable interface from xsd using JAXB?

JaxbRepresentation gives error "doesnt contain ObjectFactory.class or jaxb.index"

How do I parse this XML in Java with JAXB?

Do you always need an ObjectFactory class when using JAXB?

How do I generate a random n digit integer in Java using the BigInteger class?

JAXB XJC code generation - ObjectFactory class is incomplete

How Do I Clone A JAXB Object

Solve JAXB "name collision in the ObjectFactory class" problem with customisation

How do I create JAXB bindings for docbook

How do I generate a constructor from class fields using Visual Studio (and/or ReSharper)?

How do I get JavaPoet to generate a class literal?

JAXBException: "package" doesnt contain ObjectFactory.class or jaxb.index

Need to add a method to JAXB class. How? Or should I?

How do I generate a class which extends a class which implements a generic interface using kotlinpoet

How do I read attributes using jaxb?

How do I change an element in a parent class into an attribute in a derived class with JAXB annotations?

JAXB: Can't work around collision in ObjectFactory class error

How to generate xml tag as full class name using jaxb?

How do I remove an XML layer using Jaxb

Jaxb: Two declarations in a wsdl cause a collision in the objectFactory class

JAXB XJC Suppress ObjectFactory & Generate jaxb.index

How can I implement 2 different output for same class with JAXB?

JAXB - How to define mapped class to generate node text value

How do I generate an arbitrary border-width utility class with TailwindCSS?

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  3. 3

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  4. 4

    pump.io port in URL

  5. 5

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

  9. 9

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  10. 10

    How to remove the extra space from right in a webview?

  11. 11

    java.lang.NullPointerException: Cannot read the array length because "<local3>" is null

  12. 12

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  13. 13

    flutter: dropdown item programmatically unselect problem

  14. 14

    How to use merge windows unallocated space into Ubuntu using GParted?

  15. 15

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  16. 16

    Nuget add packages gives access denied errors

  17. 17

    Svchost high CPU from Microsoft.BingWeather app errors

  18. 18

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  19. 19

    12.04.3--- Dconf Editor won't show com>canonical>unity option

  20. 20

    Any way to remove trailing whitespace *FOR EDITED* lines in Eclipse [for Java]?

  21. 21

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

HotTag

Archive