JAXB不为List创建set方法

时间:2014-09-04 22:40:15

标签: java xml web-services jaxb xsd

我在XSD中有这三种类型:

<xs:element name="Account" type="Account"/>
<xs:element name="Operation" type="Operation"/>
<xs:element name="Transaction" type="Transaction"/>

<xs:complexType name="Operation">
        <xs:sequence>
            <xs:element name="id" type="xs:long"/>
            <xs:element name="type" type="EnumOperationType"/>
            <xs:element name="balance" type="xs:double"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Transaction">
        <xs:sequence>
            <xs:element name="id" type="xs:long"/>
            <xs:element name="type" type="EnumOperationType"/>
            <xs:element name="amount" type="xs:double"/>
            <xs:element name="isCredit" type="xs:boolean"/>
            <xs:element name="isDebit" type="xs:boolean"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Account">
        <xs:sequence>
            <xs:element name="agencyNumber" type="xs:long"/>
            <xs:element name="accountNumber" type="xs:long"/>
            <xs:element name="owner" type="client:Client"/>
            <xs:element name="balance" type="xs:double"/>
            <xs:element maxOccurs="unbounded" ref="Operation"/>
            <xs:element maxOccurs="unbounded" ref="Transaction"/>
        </xs:sequence>
    </xs:complexType>

当我使用JABX为它们生成相应的java对象时,我只获得前四个字段的set()方法:agecy,account,owner和balance。

如何在复杂对象中设置列表?我是否必须以任何方式使用ObjectFactory?

最好,佩德罗。

1 个答案:

答案 0 :(得分:6)

您可以addaddAll上对get方法返回的内容进行List设置{{1}}属性的内容。