Ich habe eine Map<String, String>
.
Die erste Idee, die jeder hat, ist, es in eine List<Pair<String,String>>
(Pair
ist eine benutzerdefinierte Klasse) zu konvertieren.JAXB @ XmlAdapter: Karte -> List Adapter? (nur Marshall)
Ich habe ein @XmlAdapter
wie folgt versucht:
public class MapPropertiesAdapter extends XmlAdapter<List<Property>, Map<String,String>> { ... }
Aber Eclipse-moxy, die JAXB impl ich, mit einem ClassCastException
endete - "nicht HashMap Sammlung umwandeln kann".
Wird diese Konvertierung von JAXB unterstützt? Oder habe ich einen Dokumentationsteil übersehen, der erklärt, warum das nicht der Fall ist?
PS: Ich wollte XML wie folgt erhalten:
<properties>
<property name="protocol"/>
<property name="marshaller"/>
<property name="unmarshaller"/>
<property name="timeout"/>
...
</properties>
ich es bekam, musste nur eine Zwischenklasse verwenden. Ebenfalls beschrieben bei Handle NPE in XMLCompositeObjectMappingNodeValue.marshalSingleValue(XMLCompositeObjectMappingNodeValue.java:161)
Haben Sie schon einmal darüber nachgedacht eine Java-Bibliothek mit vielen nützlichen Adapter zu schaffen? –
Was ändert sich, wenn statt Map, Map > ??? –
Anand