これは、私が最初から定義したサンプルのjaxbクラスです。JAXBを使用してこのクラスのスキーマを生成しようとすると、リストのitemTypeが「int」であると正しく推測されます。
JVMは実行時にジェネリックを破棄しませんか?そうすることで、リストのコンテナタイプは実行時に失われますが、それでもjaxbはitemTypeが整数であることを認識します。これがjaxbフレームワークによってどのように達成されるかについて私は非常に興味があります。何か案は?
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "int-list")
public class IntegerList{
@XmlValue
private List<Integer> values;
public List<Integer> getValues() {
return values;
}
public void setValues(List<Integer> values) {
this.values = values;
}
}
JAXBContext.generateSchemaを使用して生成された対応するスキーマ:
<xs:simpleType name="int-list">
<xs:list itemType="xs:int"/>
</xs:simpleType>