Ответ 1
Я сталкиваюсь с той же проблемой. Единственный способ, которым я смог заставить его работать, был действительно дрянным списком перехвата в другом классе.
public class MyWrapper {
@ElementList(name="data")
private List<MyClass> data = new ArrayList<MyClass>();
public MyWrapper(List<MyClass> data) {
this.data = data;
}
public List<MyClass> getData() {
return this.data;
}
public void setData(List<MyClass> data) {
this.data = data;
}
}
И затем вместо
@ElementMap Map<String,List<MyClass>>
... у вас будет:
@ElementMap Map<String,MyWrapper>
В моем случае карта полностью закрыта для моего класса (т.е. другие классы никогда не могут напрямую общаться с Картой), поэтому тот факт, что у меня есть этот дополнительный уровень здесь, не имеет большого значения. Разумеется, XML, который создается, является грубым, но опять же, в моем случае, он терпимо, потому что нет ничего вне моего класса, который его потребляет. Хотел бы я иметь лучшее решение, чем это, но на данный момент я в тупике.