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 {
...
}