Я хочу сериализовать классы XMLEncoder, созданные с помощью инструмента wsimport. Есть много ArrayOfXXXXXX классов, которые имеют следующую структуру:Как сериализовать классы, генерируемые wsimport, с помощью XMLEncoder?
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ArrayOfSitejournal", propOrder = {
"item"
})
public class ArrayOfSitejournal
implements Serializable
{
protected List<Journal> item;
public List<Journal> getItem() {
if (item == null) {
item = new ArrayList<Journal>();
}
return this.item;
}
}
Когда я сериализацию ArrayOfSitejournal класса я получаю этот выход:
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.7.0_45" class="java.beans.XMLDecoder">
<object class="ArrayOfSitejournal"/>
</java>
Там нет метода SetItem(), поэтому пункт свойство не сериализуется. Мой вопрос: как я могу сериализовать весь объект ArrayOfSitejournal вместе с элементом элемента?
Я не могу изменить код этого класса, так как он сгенерирован.
Я знаю, что могу написать PersistenceDelegate для настройки сериализации. Но для десериализации это вызов, как это необходимо:
arrayOfSitejournal.getItem().add(journal)
Можете ли вы помочь мне написать такую PersistenceDelegate.