2016-12-14 8 views
1

Folks,Расширение JAXB объекты созданных в JAXB 2.0

Я пытаюсь осуществить автоматическую замену JAXB объектов с их перегруженными настроенными версиями так, как это описано в этой статье:

https://jaxb.java.net/guide/Adding_behaviors.html

Проблема в том, что в этой статье речь идет о JAXB 1.0, и тот же механизм просто не работает в версии 2.0. Unmarshaller просто загружает объект с определенной схемой в иерархию объектов, а не расширение этого объекта и класса ObjectFactory просто игнорируется.

Должен быть способ сделать то, что описано в статье выше в JAXB 2.0. Кажется, я не понимаю. Возможно, мне нужно использовать файл xjb для определения этого поведения или что-то в этом роде. Любые мысли оцениваются.

Благодаря

+0

См. Следующее: http://stackoverflow.com/questions/26439184/why-is-the-objectfactory-not-used-during-unmarshalling – lexicore

ответ

0

выглядит как лучший способ сделать это, чтобы настроить привязку с xjb файла и иметь его включают следующее содержание:

<jxb:bindings node="//xs:complexType[@name='MyClassDataType']"> 
    <jxb:class implClass="my.package.MyClassType"/> 
</jxb:bindings>  

или

<jxb:bindings node="//xs:element[@name='MyClassData']"> 
    <jxb:class implClass="my.package.MyClass"/> 
</jxb:bindings> 

Это кажется заботиться о моих потребностях.