У меня есть карта списков, которые мне нужно собрать. Я создал адаптер XML, но продолжаю получать java.util.List is an interface, and JAXB can't handle interfaces.
при создании контекста JAXB. Как мне составить карту списков?
Это мой код:
@XmlRootElement(name = "myClass")
public class MyClass {
@XmlJavaTypeAdapter(MapOfListsAdapter.class)
protected Map<Integer, List<Condition>> expectedResults;
Я написал адаптер MapOfListsAdapater для карты:
public class MapOfListsAdapter extends XmlAdapter<List<MapOfListsEntry>, Map<Integer, List<Condition>>> {
@Override
public List<MapOfListsEntry> marshal(Map<Integer, List<Condition>> v) {...}
@Override
public Map<Integer, List<Condition>> unmarshal(List<MapOfListsEntry> v) {...}
}
MapOfListEntry содержит следующие аннотации JAXB:
public class MapOfListsEntry {
@XmlAttribute
private Integer key;
@XmlElementRef
@XmlElementWrapper
private List<Condition> value;