I have this simple object:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class SimilarityInfoResult {
private String name;
private List<String[]> parameters;
public SimilarityInfoResult() {
}
public SimilarityInfoResult(String name, List<String[]> parameters) {
this.name = name;
this.parameters = parameters;
}
...
}
It is mapped as this:
<similarityInfoResult>
<name>SubstructureSimilarity</name>
<parameters>
<item>treshold</item>
<item>Double</item>
</parameters>
<parameters>
<item>numberOfResults</item>
<item>Integer</item>
</parameters>
</similarityInfoResult>
Desired output:
<similarityInfoResult>
<name>SubstructureSimilarity</name>
<parameters>
<parameter>
<name>treshold</name>
<type>Double</type>
</parameter>
<parameter>
<name>results</name>
<type>Integer</type>
</parameter>
</parameters>
</similarityInfoResult>
How should I do this using annotations? Is it possible? Maybe I will have to make special parameter object and List<Parameter>? Thank you
You need to add
Parameterclass to holdnameandtype.And change
List<String[]>toList<Parameter>.This way you can more easily control the XML parsing of the parameter object.
And use:
and: