Могу ли я упорядочить свои собственные структуры данных с помощью JAXB? - PullRequest
2 голосов
/ 16 ноября 2010

Я использую свои собственные повторяемые структуры - различные BinaryTrees. Могу ли я просто маршал их? Это довольно легко привести к ф. Список реализаций, но в моем случае это абсолютно неприемлемо. Мне нужно использовать свои собственные структуры без каких-либо внутренних контейнеров - только цепочки памяти (root.leftson.rightson и т. Д.)

Другими словами, возможно ли маршалловая структура, например:

class BinaryTree<T> implements Iterable<T>?

Редактировать: Структура должна выглядеть (для BinaryTree<Person>):

<persons>
 <person>
   <name>John</name>
   <surname>Black</name>
 </person>
 <person>
   <name>Joe</name>
   <surname>Blue</name>
 </person>
</persons>

Поэтому, когда я добавляю аннотацию к моей структуре, например:

@XmlElement
private BinaryTree<Person> persons = new BinaryTree<Person>();
public BinaryTree<Person> getPersons() { return persons; }

, он просто создает пустой элемент, такой как <persons />. Я также попробовал аннотации @XmlElementWrapper, но она не будет принимать пользовательскую структуру (должна быть коллекцией или чем-то похожим). Было бы неплохо иметь как @IterableElement или что:)

1 Ответ

2 голосов
/ 16 ноября 2010

В javadoc XMLAdapter есть руководство о том, как сделать ваши собственные методы маршаллинга. Таким образом, используя аннотацию @ XMLJavaAdapter , вы можете точно определить, как вы хотите упорядочить свой класс.

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