Mam numer Map<String, String>
.
Pierwszym pomysłem, jaki każdy ma jest przekonwertowanie go na List<Pair<String,String>>
(Pair
jako klasa niestandardowa).JAXB @XmlAdapter: Map -> Adapter listy? (tylko Marshall)
Próbowałem @XmlAdapter
takiego:
public class MapPropertiesAdapter extends XmlAdapter<List<Property>, Map<String,String>> { ... }
Ale Eclipse Moxy, że impl JAXB używam, skończyło się z ClassCastException
- "nie można przekonwertować HashMap do kolekcji".
Czy ta konwersja jest obsługiwana przez JAXB? A może przeoczyłem część dokumentacji, która wyjaśnia, dlaczego tak nie jest?
PS: chciałem dostać XML tak:
<properties>
<property name="protocol"/>
<property name="marshaller"/>
<property name="unmarshaller"/>
<property name="timeout"/>
...
</properties>
mam go, miał tylko użyć klasę pośrednią. Opisano także na Handle NPE in XMLCompositeObjectMappingNodeValue.marshalSingleValue(XMLCompositeObjectMappingNodeValue.java:161)
Czy kiedykolwiek zastanawiałeś się, aby utworzyć bibliotekę Java z wielu przydatnych adapterów? –
Jakie zmiany należy wprowadzić, jeśli zamiast mapy mamy Map > ??? –
Anand