Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Строка сопоставления JAXB со значениями перечисления в сгенерированном XSD

Автор вопроса: Josh HarnessОтветов: 1

У меня есть простой POJO со свойством String. Это свойство String на самом деле содержит значения, поддерживаемые Java Enum. По причинам, которые я не буду здесь обсуждать, я не могу просто использовать тип перечисления в своем POJO. Есть ли какая-либо аннотация JAXB, которую я могу использовать для свойства String, чтобы при создании XSD у меня были значения, ограниченные списком поддержки значений Enum?

enumsjaxb

Ответы

Ответ 1 · рейтинг 1 · bdoughan

Вы должны иметь возможность использовать XmlAdapter для этого варианта использования:

public class MyEnumAdapter extends XmlAdapter<MyEnum, String> {
   ...
}

Затем в своем классе зарегистрируйте XmlAdapter в свойстве String, которое соответствует перечислению.

@XmlJavaTypeAdapter(MyEnumAdapter.class)
public String getValue() {
    return value;
}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы