I\'m given XML that looks like (lots more attributes of course):
-
-
There area couple of different approaches:
JAXB (JSR-222)
The following approach should work with any JAXB implementation (Metro, MOXy, JaxMe, etc). Use an XmlAdapter where the adapted object contains the properties of the parent class and all the subclasses. In the XmlAdapter add the logic of when a particular subclass should be used. For an example see the link to a similar question below:
EclipseLink JAXB (MOXy)
You could use the @XmlDescriminatorNode extension in EclipseLink JAXB (MOXy) to handle this use case.
Check out my answer to a similar question:
We improved this support in the EclipseLink 2.2 release: