Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "User:Rick.barkhouse.oracle.com/Test2"

Line 26: Line 26:
 
In either case, you will be responsible for implementing the following method:
 
In either case, you will be responsible for implementing the following method:
  
<div style="width:700px">
+
<div style="width:750px">
 
<source lang="java">
 
<source lang="java">
 
/**
 
/**
Line 44: Line 44:
 
To use a '''MetadataSource''' in creating a '''JAXBContext''', add it to the '''properties''' map with the key '''JAXBContextFactory.ECLIPSELINK_OXM_XML_KEY''':
 
To use a '''MetadataSource''' in creating a '''JAXBContext''', add it to the '''properties''' map with the key '''JAXBContextFactory.ECLIPSELINK_OXM_XML_KEY''':
  
<div style="width:700px">
+
<div style="width:750px">
 
<source lang="java">
 
<source lang="java">
 
MetadataSource metadataSource = new MyMetadataSourceImpl();
 
MetadataSource metadataSource = new MyMetadataSourceImpl();

Revision as of 16:21, 6 July 2011

EclipseLink MOXy

XML MetadataSource

EclipseLink 2.3 introduces the concept of a MetadataSource, which is responsible for serving up EclipseLink metadata. This allows you to store mapping information outside of your application and have it retrieved when the application's JAXBContext is being created or refreshed.


Implementing a MetadataSource

To implement your own MetadataSource, you can:

  • Create a new class that implements the org.eclipse.persistence.jaxb.metadata.MetadataSource interface.
  • Create a new class that extends the org.eclipse.persistence.jaxb.metadata.MetadataSourceAdapter class. Using this method is preferred, as it will insulate you from future additions to the interface.


In either case, you will be responsible for implementing the following method:

/**
 * Retrieve XmlBindings according to the JAXBContext bootstrapping information.
 *
 * @param properties - The properties passed in to create the JAXBContext
 * @param classLoader - The ClassLoader passed in to create the JAXBContext
 * @return the XmlBindings object representing the metadata
 */
XmlBindings getXmlBindings(Map<String, ?> properties, ClassLoader classLoader);


Specifying the MetadataSource

To use a MetadataSource in creating a JAXBContext, add it to the properties map with the key JAXBContextFactory.ECLIPSELINK_OXM_XML_KEY:

MetadataSource metadataSource = new MyMetadataSourceImpl();
 
Map<String, Object> properties = new HashMap<String, Object>(1);
properties.put(JAXBContextFactory.ECLIPSELINK_OXM_XML_KEY, metadataSource);
 
JAXBContext jc = JAXBContext.newInstance(new Class[] { Customer.class }, properties);

Back to the top