5

jaxbが指定された型に生成されないのはなぜですか? 指定された型に生成する代わりに、ジェネリック List<JAXBElement<?>> を生成しました。

場合は、xjc を使用して xsd を Java Obj に変換した場合です。

私のxsd、

<xs:complexType name="InputType">
    <xs:choice maxOccurs="unbounded">
        <xs:element name="add" type="AddInputType"/>
        <xs:element name="get" type="GetInputType"/>
        <xs:element name="del" type="DeleteInputType"/>
    </xs:choice>
</xs:complexType> 

生成されたJavaクラス、

public class InputType {

@XmlElementRefs({
    @XmlElementRef(name = "add", type = JAXBElement.class),
    @XmlElementRef(name = "get", type = JAXBElement.class),
    @XmlElementRef(name = "del", type = JAXBElement.class)
})
protected List<JAXBElement<?>> addOrGetOrDel;

public List<JAXBElement<?>> getAddOrGetOrDel() {
    if (addOrGetOrDel == null) {
        addOrGetOrDel = new ArrayList<JAXBElement<?>>();
    }
    return this.addOrGetOrDel;
}
}
4

0 に答える 0