J'ai un Map<String, String>
.
La première idée que tout le monde a est de le convertir en List<Pair<String,String>>
(Pair
étant une classe personnalisée).JAXB @XmlAdapter: Carte -> Carte de liste? (marshall seulement)
J'ai essayé @XmlAdapter
comme ceci:
public class MapPropertiesAdapter extends XmlAdapter<List<Property>, Map<String,String>> { ... }
Mais Eclipse Moxy, les impl JAXB que j'utilise, a fini avec un ClassCastException
- "ne peut convertir HashMap Collection".
Cette conversion est-elle prise en charge par JAXB? Ou ai-je oublié une partie de la documentation qui explique pourquoi ce n'est pas?
PS: Je voulais obtenir XML comme ceci:
<properties>
<property name="protocol"/>
<property name="marshaller"/>
<property name="unmarshaller"/>
<property name="timeout"/>
...
</properties>
Je l'ai, ne devait utiliser une classe intermédiaire. On décrit également à Handle NPE in XMLCompositeObjectMappingNodeValue.marshalSingleValue(XMLCompositeObjectMappingNodeValue.java:161)
Avez-vous déjà envisagé de créer une bibliothèque java avec beaucoup d'adaptateurs utiles? –
Ce qui change à faire si à la place de Map, nous avons Map > ??? –
Anand