Документы для типа аннотации @XmlElements
имеют следующий пример:
public class Foo {
@XmlElements(
@XmlElement(name="A", type=Integer.class),
@XmlElement(name="B", type=Float.class)
}
public List items;
}
Это замечательно, когда у вас есть только несколько известных типов, которые должны быть в списке. Я ищу способ сделать его более динамичным, чтобы при добавлении новых элементов в системный класс Foo
его не нужно было изменять.
Первое, что приходит на ум, - это использование некоторых пользовательских аннотаций. Давайте назовем его @XmlElementType
, и у него есть атрибут типа, который будет применяться к элементам (Integer
, Float
и т. Д.). Конечно, это не может быть сделано с предопределенными типами, это будет применяться только к новым типам.
Тогда вариант аннотации @XmlElements
будет применен к элементам List
в классе Foo
. У него будет атрибут для указания типа @XmlElementType
, который он может содержать, возможно, пакет для сканирования POJO.
Итак, у меня два вопроса:
- Что-то подобное уже существует?
- Если нет, можно ли реализовать что-то подобное? Если да, то сейчас?