The only way I could find to get around this was to create an AbstractSingleValueConverter for the enumerations, and then register it with xstream.
public class SingleValueEnumConverter extends AbstractSingleValueConverter
{
private final Class enumType;
public SingleValueEnumConverter(Class type)
{
this.enumType = type;
}
public boolean canConvert(Class c)
{
return c.equals(enumType);
}
public Object fromString(String value)
{
return Enum.valueOf(enumType, value);
}
}
Using
XStream xml = new XStream();
xml.registerConverter(new SingleValueEnumConverter([ENUM].class));
source
share