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

From Eclipsepedia

Jump to: navigation, search
m
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{EclipseLink_UserGuide
+
'''[[Image:Elug_draft_icon.png|Warning]] For the current release, see [http://www.eclipse.org/eclipselink/documentation/2.4/moxy Developing JAXB Applications Using EclipseLink MOXy, EclipseLink 2.4]
|eclipselink=y
+
'''
|eclipselinktype=MOXy
+
|info=y
+
|api=y
+
|apis= * [http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/jaxb/JAXBContext.html JAXBContext]
+
* [http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/jaxb/JAXBContextFactory.html JAXBContextFactory]
+
* [http://www.eclipse.org/eclipselink/api/latest/javax/xml/bind/attachment/AttachmentMarshaller.html AttachmentMarshaller]
+
|toc=y
+
}}
+
  
= Specifying the EclipseLink Runtime =
+
http://www.eclipse.org/eclipselink/documentation/2.4/moxy/runtime001.htm
 
+
In order to use EclipseLink MOXy as your JAXB implementation, you must identify the EclipseLink '''JAXBContextFactory''' in your '''jaxb.properties''' file.
+
 
+
# Create a text file named '''jaxb.properties''', specifying EclipseLink's '''JAXBContextFactory''' as the factory used to build new '''JAXBContexts''':
+
<div><source lang="java">
+
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
+
</source></div>
+
# Copy the file to the same package (directory) in which your model classes reside.
+
# Use the standard '''JAXBContext.newInstance(Class... classesToBeBound)''' API to create a '''JAXBContext''':
+
<div><source lang="java">
+
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
+
</source></div>
+
 
+
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''':
+
 
+
<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>
+
 
+
* '''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.
+

Latest revision as of 16:26, 6 November 2012

Warning For the current release, see Developing JAXB Applications Using EclipseLink MOXy, EclipseLink 2.4

http://www.eclipse.org/eclipselink/documentation/2.4/moxy/runtime001.htm