Я довольно новичок в xstream. Я работаю на модели класса, который выглядит следующим:xstream marshal to XML - добавить атрибут на основе числа дочерних узлов
@XStreamAlias("MyRootClass")
public class MyRootClass {
// A bunch of other classes as child nodes
@XStreamAlias("MyClassList")
private List<MyClass> foo;
}
Теперь есть способ для меня, чтобы произвести следующий XML при сортировочных, не изменяя класс?
<MyRootClass>
<!-- a bunch of other class nodes -->
<MyClassList COUNT="3">
<MyClass>MyClass 1</MyClass>
<MyClass>MyClass 2</MyClass>
<MyClass>MyClass 3</MyClass>
</MyClassList>
</MyRootClass>
Основная проблема заключается в том, как изящно добавить атрибут «COUNT» в список MyClass. Он всегда будет показывать количество MyClass внутри MyClassList.
Мне не разрешено изменять класс модели. Тем не менее, я могу реализовать свой собственный конвертер для достижения вышеуказанного.
Вопрос в том, что это лучший способ сделать это? В MyRootClass есть много других (сложных) классов, и все они были псевдонимом & аннотированы. Итак, создание метода «маршала» с нуля может быть излишним?