Используйте тип стиля JAXB XMLAnyElement для возврата динамических имен элементов
Я прочитал много ответов на этих форумах, а также в других сообщениях в блогах, но я не могу связать их воедино.
Итак, начнем с базового POJO, содержащего свойства Map. Хорошо известно, как это обернуть, но это возвращает некоторую ценность. То, что я хочу сделать, это взять затем имя (a.k.a. label) и сделать его допустимым XML-атрибутом. Таким образом, мы получили бы некоторую ценность.
Я нашел один пример (будет ссылка, если я смогу найти его снова) следующим образом:
@XmlAnyElement
public List<JAXBElement<String>> getXmlProperties() {
List<JAXBElement<String>> elements = new ArrayList<JAXBElement<String>>();
for (Map.Entry<String, String> property: properties.entrySet())
elements.add(new JAXBElement<String>(new QName(property.getKey()),
String.class, property.getValue()));
return elements;
}
Это сработало отлично, но у меня было это в моем классе Bean / Pojo, который используется совместно с GWT-интерфейсом, поэтому не может содержать ссылки на JAXBElement и QName (требуется исходный код).
Итак, есть ли способ получить аналогичный результат, используя что-то вроде XmlAdapter и команду мечты JAXBElement / QName / XmlAnyElement? Кстати, я использую RESTEasy, если это вообще учитывается.
Вот сообщение на форуме с @ XmlAnyElement + JAXBElement:Динамические имена тегов с JAXB