Я использую свои собственные повторяемые структуры - различные 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 или что:)