Jump to: navigation, search

Difference between revisions of "EclipseLink/UserGuide/MOXy/Runtime/Specifying the EclipseLink Runtime"

Line 21: Line 21:
 
Because you do not need to change any application code, you can easily switch between different JAXB implementations.
 
Because you do not need to change any application code, you can easily switch between different JAXB implementations.
  
The <tt>JAXBContextFactory</tt> can create a <tt>JAXBContext</tt> from:
+
The following methods on <tt>JAXBContextFactory</tt> can be used to create <tt>JAXBContexts</tt>:
 +
 
 +
<source lang="java">
 +
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
 +
</source>
  
 
* an array of <tt>Classes</tt>
 
* an array of <tt>Classes</tt>

Revision as of 12:34, 6 January 2011

EclipseLink MOXy

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


Specifying the EclipseLink Runtime

In order to use EclipseLink MOXy as your JAXB implementation, you must identify the EclipseLink JAXBContextFactory in your jaxb.properties file.

  1. Create a text file named jaxb.properties, specifying JAXBContextFactory as the factory used to build new JAXBContexts.
    javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
  2. Copy the file to the same package (directory) in which your model classes reside.
  3. Use the standard JAXBContext.newInstance(Class... classesToBeBound) API to create a JAXBContext.
    JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);

Because you do not need to change any application code, you can easily switch between different JAXB implementations.

The following methods on JAXBContextFactory can be used to create 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
  • an array of Classes
  • an array of Classes and a Map of properties
  • a context path String (package name containing jaxb.properties)
  • a context path String (package name containing jaxb.properties) and a ClassLoader
  • a context path String (package name containing jaxb.properties), a ClassLoader and a Map of properties

Eclipselink-logo.gif
Version: 2.2.0 DRAFT
Other versions...