У меня есть простой POJO со свойством String. Это свойство String на самом деле содержит значения, поддерживаемые Java Enum. По причинам, которые я не буду здесь обсуждать, я не могу просто использовать тип перечисления в своем POJO. Есть ли какая-либо аннотация JAXB, которую я могу использовать для свойства String, чтобы при создании XSD у меня были значения, ограниченные списком поддержки значений Enum?
Строка сопоставления JAXB со значениями перечисления в сгенерированном XSD
Ответы (1)
Вы должны иметь возможность использовать XmlAdapter для этого варианта использования:
public class MyEnumAdapter extends XmlAdapter<MyEnum, String> {
...
}
Затем в своем классе зарегистрируйте XmlAdapter в свойстве String, которое соответствует перечислению.
@XmlJavaTypeAdapter(MyEnumAdapter.class)
public String getValue() {
return value;
}
person
bdoughan
schedule
26.04.2012
Работал отлично! Мне нужно было только добавить аннотацию XmlType к моему перечислению, чтобы оно соответствовало пространству имен других моих сущностей.
- person Josh Harness; 27.04.2012