JAXB - адаптер для библиотечного объекта
Я хочу прочитать целое число (внутри элемента XML) в семафор, а не в int, эффективно вызывая семафор (int theInteger) . Проблема в том, что у семафора нет конструктора по умолчанию. Если бы это был класс, который я написал, я мог бы либо создать частный конструктор без аргументов, либо написать адаптер, но, поскольку у меня нет доступа к семафору, что я могу сделать?
1 ответ
Решение
Объект, который вы адаптируете с XmlAdapter
не нужен конструктор без художественного оформления. Вы можете настроить его следующим образом:
SemaphoreAdapter extends XmlAdapter<Integer, Semaphore>
Тогда вы бы использовали @XmlJavaTypeAdapter
аннотация на свойство типа Semaphore
ссылаться на XmlAdapter
,