Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 1.3
-
Component/s: Annotations
-
Labels:None
-
JDK version and platform:all
Description
@XStreamAsAttribute currently works dont works with enum types, its necessary a specialized converter, the annotation needs the same behavior for enums and object attributes.
Example,
public class Field {
@XStreamAsAttribute
String name;
@XStreamAsAttribute
int bits;
@XStreamAsAttribute
Type type;
// set ang get
}
public enum Type {
TEXT ,
NUMBER;
}
public class TestEnumAttribute {
public static void main(String[] args) {
XStream xstream = new XStream(new DomDriver());
Field field = new Field();
field.setName("serial");
field.setBits(224);
field.setType(Type.TEXT);
Annotations.configureAliases(xstream, Field.class);
String xml = xstream.toXML(field);
System.out.println(xml);
}
}
Current result:
<fieldname="serial" bits="224">
<type>TEXT</type>
<field>
The new return:
<field name="serial" bits="224" type="TEXT" />
Issue Links
| This issue depends upon: | ||||
| XSTR-394 | enums as attributes |
|
||
This has been implemented. You may give the head revision a try.