Ява JAXB и наследование - PullRequest
       7

Ява JAXB и наследование

3 голосов
/ 22 апреля 2009

Я хочу создать список различных типов классов, которые все наследуются от одного и того же суперкласса.
Я начинаю с xsd-файла и хочу создать классы java, а во время выполнения загрузить xml-файл со списком узлов.
Моя проблема - определить XSD, который будет создавать классы Java.

Я использую плагин JAXB 2.0 eclipse.

В конце я хочу иметь один List<superClass>.
Могу ли я сделать это с простым JAXB?

1 Ответ

11 голосов
/ 22 апреля 2009

Я не понимаю, почему вы хотите начать с xsd, если у вас его еще нет. Если вы свободны в отношении схемы, она будет начинаться с кода Java и генерирует XSD оттуда.

Вы можете комментировать список следующим образом:

@XmlElements({
    @XmlElement(name = "child1", type = Child1.class),
    @XmlElement(name = "child2", type = Child2.class),
    @XmlElement(name = "child3", type = Child3.class)})
private final List<IChild> children = new ArrayList<IChild>();

Где IChild - интерфейс для подклассов superClass. В результате будет сгенерирована XSD-схема, как вы и описали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...