Сгенерированные JAXB классы: игнорировать промежуточные классы - PullRequest
3 голосов
/ 04 января 2012

Вот выдержка из моей XML-схемы:

<xsd:complexType name="MyType">
    <xsd:sequence>
        <xsd:element name="Numbers">
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="Number" minOccurs="1" maxOccurs="5" type="xsd:decimal"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:sequence>
</xsd:complexType>

JAXB генерирует мне следующий класс:

public class MyType {
    protected MyType.Numbers numbers;

    public static class Numbers {
        protected List<BigDecimal> number;
    }
}

Но я бы хотел игнорировать этот промежуточный класс и получитькак:

public class MyType {
    protected List<BigDecimal> number;
}

Это как-то возможно?

1 Ответ

3 голосов
/ 04 января 2012

Да, это возможно с JAXB только с помощью внешних плагинов, так как эта модификация фактически является изменением модели.Взгляните на @ XmlElementWrapper plugin .

Примечание: тот же вопрос уже задавался на этом форуме ( Как создать аннотацию XMLElementWrapper , Работа с коллекциями JAXB, JAXB List Tag, создающий внутренний класс ).Пожалуйста, сначала воспользуйтесь поиском.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...