Я использую свой собственныйiterable структуры - различные BinaryTrees. Могу ли я просто их маршалировать? Это довольно легко для маршала f.e. java.util.List, но в моем случае это абсолютно неприемлемо. Мне нужно использовать свои собственные структуры, без внутренних контейнеров бы то ни было - только цепь памяти (root.leftson.rightson и т.д.)Могу ли я объединить свои собственные структуры данных с JAXB?
Других слов, можно Маршалл структуры, как:
class BinaryTree<T> implements Iterable<T>
?
Edit: структура должна выглядеть (для 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 или что-то :)
Вам нужно спросить себя: «Как бы эта структура была представлена в XML?». – skaffman
Я точно знаю это, проверяю правку. – Xorty
Что редактируете? Я не вижу ничего относительно вашей желаемой структуры XML. – skaffman