У меня есть enum:
@XmlEnum
@XmlRootElement
public enum Product {
POKER("favourite-product-poker"),
SPORTSBOOK("favourite-product-casino"),
CASINO("favourite-product-sportsbook"),
SKILL_GAMES("favourite-product-skill-games");
private static final String COULD_NOT_FIND_PRODUCT = "Could not find product: ";
private String key;
private Product(final String key) {
this.key = key;
}
/**
* @return the key
*/
public String getKey() {
return key;
}
, который я выводил в REST-сервисе примерно так:
GenericEntity<List<Product>> genericEntity = new GenericEntity<List<Product>>(products) {
};
return Response.ok().entity(genericEntity).build();
, и он выводил вот так:
<products>
<product>POKER</product>
<product>SPORTSBOOK</product>
<product>CASINO</product>
<product>SKILL_GAMES</product>
</products>
Я хочу, чтобы он выводился как с именем enum (то есть, POKER), так и с ключом (то есть, «favour-product-poker»).
Я пробовал несколько различных способов сделать это, включая использование @XmlElement, @XmlEnumValue и @XmlJavaTypeAdapter, не вынимая оба одновременно.
Кто-нибудь знает, как этого добитьсякак вы бы сделали для обычного JAXB-аннотированного компонента?
Спасибо.