JAXB расширяет сгенерированный код с помощью расширенной фабрики объектов — хорошо ли явное приведение типов?

У меня есть несколько сгенерированных JAXB bean-компонентов, которые находятся в иерархической структуре, например. один компонент содержит список других компонентов. Теперь я хочу расширить некоторый дочерний элемент, а также родительский элемент, содержащий расширенные дочерние элементы.

Мой ParentExреализует другой интерфейс IParent, который должен возвращать Collection. Мой ChildExреализует IChild. Могу ли я вернуть (Collection)super.getChild(), когда super.getChild()возвращает List? Или есть более приятный способ сделать это?

  • Childи Parent— это bean-компоненты, сгенерированные JAXB.
  • ChildExи ParentEx— мои собственные bean-компоненты для сопоставления bean-компонентов JAXB с заданными интерфейсами. Оба bean-компонента переопределяют ObjectFactory
  • IChildи IParent— это интерфейсы, необходимые из какой-то другой библиотеки

Редактировать: Eclipse даже не позволяет моему приведению из Listto List, поэтому я должен добавить какое-то уродливое промежуточное приведение подстановочных знаков (List)(List)super.getChild()

7
задан Franz Kafka 12 March 2012 в 10:09
поделиться