JAXB Marshalling - расширение существующего класса
Мне нужно создать серию объектов Java через XML с использованием JAXB, которые расширяют общий базовый класс, который уже создан (без использования JAXB). Например, допустим, у меня есть следующие классы JAXB, которые я пытаюсь сгенерировать:
Penguin.xml -> Penguin.java
Robin.xml -> Robin.java
Cardinal.xml -> Cardinal.java
У меня уже есть существующий базовый класс Bird.java
что я желаю, чтобы три класса выше, чтобы расширить.
Каков наилучший способ сделать это?
Спасибо за вашу помощь!
1 ответ
Решение
Это очень просто: вам нужно создать файл привязки JAXB со следующим содержимым:
<jaxb:bindings version="1.0"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
>
<jaxb:globalBindings>
<!-- All beans should extend this base class: -->
<xjc:superClass name="org.mycompany.common.Bird" />
</jaxb:globalBindings>
</jaxb:bindings>
Больше информации об этой опции (и других приятных вещах) вы можете найти здесь.