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

From Eclipsepedia

Jump to: navigation, search
m
Line 10: Line 10:
 
}}
 
}}
  
 +
= Specifying the EclipseLink Runtime =
  
=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.
  
In order to use EclipseLink MOXy as your JAXB implementation, you must identify the EclipseLink <tt>JAXBContextFactory</tt> in your <tt>jaxb.properties</tt> file.
+
# Create a text file named '''jaxb.properties''', specifying EclipseLink's '''JAXBContextFactory''' as the factory used to build new '''JAXBContexts''':
 
+
<div><source lang="java">
# Create a text file named <tt>jaxb.properties</tt>, specifying <tt>JAXBContextFactory</tt> as the factory used to build new <tt>JAXBContexts</tt>.<div><source lang="java">
+
 
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
 
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
 
</source></div>
 
</source></div>
 
# Copy the file to the same package (directory) in which your model classes reside.
 
# Copy the file to the same package (directory) in which your model classes reside.
# Use the standard <tt>JAXBContext.newInstance(Class... classesToBeBound)</tt> API to create a <tt>JAXBContext</tt>.<div><source lang="java">
+
# Use the standard '''JAXBContext.newInstance(Class... classesToBeBound)''' API to create a '''JAXBContext''':
 +
<div><source lang="java">
 
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
 
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
 
</source></div>
 
</source></div>
Line 25: Line 26:
 
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.
  
=Instantiating a JAXBContext=
+
= Instantiating a JAXBContext =
  
The following methods on <tt>JAXBContext</tt> can be used to create new instances of <tt>JAXBContexts</tt>:
+
The following methods on '''JAXBContext''' can be used to create new instances of '''JAXBContexts''':
  
 
<source lang="java">
 
<source lang="java">
Line 41: Line 42:
 
</source>
 
</source>
  
* <tt>classesToBeBound</tt> - List of Java classes to be recognized by the new <tt>JAXBContext</tt>.
+
* '''classesToBeBound''' - List of Java classes to be recognized by the new '''JAXBContext'''.
* <tt>contextPath</tt> - List of Java package names that contain mapped classes.
+
* '''contextPath''' - List of Java package names that contain mapped classes.
* <tt>classLoader</tt> - The class loader used to locate the mapped classes.
+
* '''classLoader''' - The class loader used to locate the mapped classes.
* <tt>properties</tt> - A map of additional properties.
+
* '''properties''' - A map of additional properties.
 
+
 
+
{{EclipseLink_MOXy
+
|next=[[EclipseLink/UserGuide/MOXy/Runtime/Bootstrapping|Bootstrapping]]
+
|previous=[[EclipseLink/UserGuide/MOXy/Runtime|Runtime]]
+
|up=[[EclipseLink/UserGuide/MOXy/Runtime|Runtime]]
+
|version=2.2.0}}
+

Revision as of 10:39, 10 June 2011

EclipseLink MOXy

Contents


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 EclipseLink's JAXBContextFactory as the factory used to build new JAXBContexts:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
  1. Copy the file to the same package (directory) in which your model classes reside.
  2. 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.

Instantiating a JAXBContext

The following methods on JAXBContext can be 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.