Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/UserGuide/MOXy/Runtime/Bootstrapping"
< EclipseLink | UserGuide | MOXy | Runtime
Line 42: | Line 42: | ||
== Bootstrapping from Classes == | == Bootstrapping from Classes == | ||
− | If you already have a collection of Java '''Classes''' annotated with JAXB annotations, you can provide an | + | If you already have a collection of Java '''Classes''' annotated with JAXB annotations, you can provide an list of these '''Classes''' directly: |
<source lang="java"> | <source lang="java"> | ||
Line 50: | Line 50: | ||
== Bootstrapping from EclipseLink OXM == | == Bootstrapping from EclipseLink OXM == | ||
+ | |||
+ | Links to the actual OXM files are passed in via the '''properties''' parameter, using a special key, '''JAXBContextFactory.ECLIPSELINK_OXM_XML_KEY'''. The value of this key will be a handle to the OXM metadata file, in the form of one of the following: | ||
+ | |||
+ | * '''java.io.File''' | ||
+ | * '''java.io.InputStream''' | ||
+ | * '''java.io.Reader''' | ||
+ | * '''java.net.URL''' | ||
+ | * '''javax.xml.stream.XMLEventReader''' | ||
+ | * '''javax.xml.stream.XMLStreamReader''' | ||
+ | * '''javax.xml.transform.Source''' | ||
+ | * '''org.w3c.dom.Node''' | ||
+ | * '''org.xml.sax.InputSource''' | ||
Revision as of 11:43, 10 June 2011
EclipseLink MOXy
EclipseLink | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
Key API
Contents
Bootstrapping
EclipseLink MOXy offers several options when creating your JAXBContext. You have the option of bootstrapping from:
- A list of one or more JAXB-annotated Classes
- A list of one or more EclipseLink OXM Bindings Files defining the mappings for your Java classes
- A combination of Classes and OXM files
- A Session name, referring to an EclipseLink Session defined in sessions.xml
JAXBContext API
The following methods on JAXBContext are used to create new instances of JAXBContexts:
public static JAXBContext newInstance(Class... classesToBeBound) throws JAXBException public static JAXBContext newInstance(Class[] classesToBeBound, Map<String,?> properties) throws JAXBException public static JAXBContext newInstance(String contextPath) throws JAXBException public static JAXBContext newInstance(String contextPath, ClassLoader classLoader) throws JAXBException public static JAXBContext newInstance(String contextPath, ClassLoader classLoader, Map<String,?> properties) throws JAXBException
- classesToBeBound - List of Java classes to be recognized by the new JAXBContext.
- contextPath - List of Java package names that contain mapped classes.
- classLoader - The class loader used to locate the mapped classes.
- properties - A map of additional properties.
Bootstrapping from Classes
If you already have a collection of Java Classes annotated with JAXB annotations, you can provide an list of these Classes directly:
JAXBContext context = JAXBContext.newInstance(Company.class, Employee.class);
Bootstrapping from EclipseLink OXM
Links to the actual OXM files are passed in via the properties parameter, using a special key, JAXBContextFactory.ECLIPSELINK_OXM_XML_KEY. The value of this key will be a handle to the OXM metadata file, in the form of one of the following:
- java.io.File
- java.io.InputStream
- java.io.Reader
- java.net.URL
- javax.xml.stream.XMLEventReader
- javax.xml.stream.XMLStreamReader
- javax.xml.transform.Source
- org.w3c.dom.Node
- org.xml.sax.InputSource