Type conversion configuration interface to be used with xsi:type attributes.
XML Sample
<root>
<asString xsi:type="string">12345</asString>
<asInt xsi:type="integer">54321</asInt>
</root>
JSON Output
{
"root" : {
"asString" : "12345",
"asInt": 54321
}
}
Usage
Map<String, XMLXsiTypeConverter<?>> xsiTypeMap = new HashMap<String, XMLXsiTypeConverter<?>>();
xsiTypeMap.put("string", new XMLXsiTypeConverter<String>() {
@Override public String convert(final String value) {
return value;
}
});
xsiTypeMap.put("integer", new XMLXsiTypeConverter<Integer>() {
@Override public Integer convert(final String value) {
return Integer.valueOf(value);
}
});