Difference between revisions of "EclipseLink/UserGuide/MOXy/Runtime/Bootstrapping"

From Eclipsepedia

Jump to: navigation, search
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 array of these '''Classes''' directly:
+
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

link="http://wiki.eclipse.org/EclipseLink"
EclipseLink
Website
Download
Community
Mailing ListForumsIRC
Bugzilla
Open
Help Wanted
Bug Day
Contribute
Browse Source

Elug api package icon.png 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


Bootstrapping from Context Path

ObjectFactory

jaxb.index

sessions.xml