XJC адаптер javaType в complexType - PullRequest
2 голосов
/ 23 марта 2012

Я хочу, чтобы XJC использовал тег javaType в complexType при генерации bean-компонентов. Разве это не разрешено? Мне действительно не хватает хорошей документации и понятного сообщения об ошибке.

Вот то, что я пытаюсь с ошибками:

  • компилятору не удалось выполнить эту настройку преобразования. Он прикреплен не в том месте или не соответствует другим привязкам.
  • (вышеуказанная настройка прикреплена к следующему местоположению в схеме)

Вот XSD:

<xs:complexType name="MyMap">
  <xs:annotation>
    <xs:appinfo>
      <xjc:javaType name="my.company.HashMapHidingGenerics" adapter="my.company.adapter.MyMapAdapter" />
    </xs:appinfo>
  </xs:annotation>
  <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" name="entry" type="MyEntry"/>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="MyEntry">
  <xs:attribute name="someAttribute" use="optional"/>
</xs:complexType>

1 Ответ

5 голосов
/ 25 марта 2012

Плохие новости: <javaType> поддерживает только простые типы (см. Объявления привязки и Возможно ли использовать JAXB для отображения из схемы в java.util.Map?).

Однако вы можете достичь того, что вам нужно, используя @XmlAdapter.

...