Hello Castor users,

If one has a schema like [1], and generates Java classes using Castor (Maven
plugin), it will among other things produce TFoosNBars class with property
fooOrBarList of type java.util.List<FooOrBar>. Is there a way to configure
Castor to generate such properties without creating type for collection
element (FooOrBar in this case which extends TIdentifiable) but instead to
use referenced type directly (TIdentifiable)? I've tried setting
org.exolab.castor.builder.javaclassmapping in castorbuilder.properties but
neither of the two options (type/element) produced desired output.

Thanks in advance!

Regards,
Stevo.

[1] schema snippet

...
    <xsd:complexType name="TIdentifiable" abstract="true">
        <xsd:sequence>
            <xsd:element name="id" type="xsd:long" />
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="TFoo">
        <xsd:complexContent>
            <xsd:extension base="TIdentifiable">
                <xsd:sequence>
                    <xsd:element name="thefoo" type="xsd:string" />
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    <xsd:complexType name="TBar">
        <xsd:complexContent>
            <xsd:extension base="TIdentifiable">
                <xsd:sequence>
                    <xsd:element name="thebar" type="xsd:int" />
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    <xsd:complexType name="TFoosNBars">
        <xsd:sequence>
            <xsd:element name="fooOrBar" type="TIdentifiable" minOccurs="0"
maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>
...

Reply via email to