Я хочу прочитать целое число (внутри элемента XML) в Семафор вместо int, эффективно вызывая Семафор (int theInteger). Проблема: у Semaphore нет конструктора по умолчанию. Если бы это был класс, который я написал, я мог либо создать частный конструктор no-arg, либо написать адаптер, но поскольку у меня нет доступа к Семафору - что я могу сделать?JAXB - адаптер для объекта библиотеки
1
A
ответ
1
Объект, который вы адаптируете с помощью XmlAdapter
, не нуждается в конструкторе без искусства. Вы можете установить его следующим образом:
SemaphoreAdapter extends XmlAdapter<Integer, Semaphore>
Тогда вы будете использовать @XmlJavaTypeAdapter
аннотацию на свойстве типа Semaphore
ссылаться на XmlAdapter
.
Перед тем, как прочитать свой ответ, я действительно нашел ответ в документации MOXy [здесь] (http://eclipse.org/eclipselink/documentation/2.5/moxy/advanced_concepts006.htm). Вы писали это? – Michael