Может ли JAXB инициализировать значения в базовых классах?

Я работаю над проектом Scala, и мы хотим использовать XML для инициализации наших объектов с помощью JAXB (не Spring). У меня есть иерархия, в которой в подклассы добавляются дополнительные элементы данных. Простой пример мог бы выглядеть примерно так:

class Animal
{
   string name
}

class Cat extends Animal
{
   int numLives
}

class Dog extends Animal
{
   bool hasSpots
}

Я хотел бы иметь возможность инициализировать список животных из блока XML, который выглядит примерно так:

<Animals>
   <Cat>
      <name>Garfield</name>
      <numLives>9</numLives>
   </Cat>
   <Dog>
      <name>Odie</name>
      <hasSpots>false</hasSpots>
   </Dog>
</Animals>

Как мы можем настроить аннотации в классах, чтобы иметь возможность справиться с этим?

6
задан fbl 2 December 2011 в 17:28
поделиться