Ho un Map<String, String>
.
La prima idea che tutti hanno è di convertirla in un List<Pair<String,String>>
(Pair
di essere una classe personalizzata).JAXB @XmlAdapter: Map -> List adapter? (solo marshall)
Ho provato un @XmlAdapter
come questo:
public class MapPropertiesAdapter extends XmlAdapter<List<Property>, Map<String,String>> { ... }
Ma Eclipse Moxy, i impl JAXB che uso, finito con un ClassCastException
- "impossibile convertire HashMap a Collection".
Questa conversione è supportata da JAXB? O ho trascurato parte della documentazione che spiega perché non lo è?
PS: ho voluto ottenere XML in questo modo:
<properties>
<property name="protocol"/>
<property name="marshaller"/>
<property name="unmarshaller"/>
<property name="timeout"/>
...
</properties>
ho preso, solo dovuto usare una classe intermedia. Anche descritto in Handle NPE in XMLCompositeObjectMappingNodeValue.marshalSingleValue(XMLCompositeObjectMappingNodeValue.java:161)
Avete mai pensato di creare una libreria Java con un sacco di adattatori utili? –
Quali modifiche devono essere eseguite se anziché Map, abbiamo Map > ??? –
Anand