Difference between revisions of "EclipseLink/Development/359251"

From Eclipsepedia

Jump to: navigation, search
m (NamespacePrefixMapper)
m (IDResolver)
Line 27: Line 27:
 
== IDResolver ==
 
== IDResolver ==
  
* COMPLETE (but still need to support Sun property names)
+
* '''COMPLETE (but still need to support Sun property names)'''
 
* Documentation: http://wiki.eclipse.org/EclipseLink/Development/360249
 
* Documentation: http://wiki.eclipse.org/EclipseLink/Development/360249
 
* Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=360249
 
* Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=360249

Revision as of 11:29, 23 February 2012

Design Documentation: JAXB Extensions

ER 359251

In the current JAXB RI, developed by Sun, there are a series of "proprietary" JAXB extensions that are available to provide advanced JAXB functionality outside of the JAXB spec (these extension classes reside in the com.sun.xml.bind package).

This page will track the various JAXB Extensions that we want to bring into MOXy.

Jan. 2012: Other extension properties: http://jaxb.java.net/2.2/docs/vendorProperties.html

XmlLocation

NamespacePrefixMapper

  • COMPLETE
  • Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=357266
  • Allows the user to customize the namespace prefixes that are generated
  • Could create our own NamespacePrefixMapper that users could subclass
  • Custom Mapper would be provided via Marshaller properties

IDResolver

IndentString

CharacterEscapeHandler

AccessorFactory

  • Added for the benefit of Hibernate users
  • Difficult to implement, no documentation, can be replaced by @XmlJavaTypeAdapter

CycleRecoverable


OverrideAnnotationOf

  • Allows for more flexible mapping (?)
  • Doesn't work if the field to override is not named "content", customization doesn't work (RI)
  • mgrebac: "The above annotation was actually used only for a very specific case of supporting usecase with XmlMixed, and is actually even not expected to be used outside of xjc."

Locatable

  • Seems to be mainly used internally by the RI
  • Interface only defines get methods... is user resonsible for setting up com.sun.xml.bind.v2.runtime.Location objects? Is this even meant to be a user-feature?
  • mgrebac: "No, this is as well not meant to be user feature, is usable for xjc itself and plugins to point to correct source when there is a failure."

XmlIsSet

  • Doesn't work in RI
  • Deprecated in the RI, no need to implement since we have XmlIsSetNullPolicy?
  • mgrebac: "Correct - deprecated, unused, we shall be able to remove it safely at this point actually."