У меня есть схема xml (сгенерированная автоматически с помощью trang), которая постоянно меняется. Эти изменения не очень продуманы. Из этой схемы добавляются или удаляются только некоторые элементы. Из этой схемы я создаю классы Java (используя cxf), с помощью которых я буду разбирать XML-документ.
По мере изменения схемы мои автоматически сгенерированные классы Java также меняются. Опять же, как и в случае со схемой, изменения в классах Java не очень велики.Например, если в схему добавляется элемент, скажем, elemA
; некоторые связанные функции говорят, что getElemA()
и setElemA()
добавляются в автоматически сгенерированный класс Java.
Теперь, как я могу убедиться, что конкретная функция существует в этих автоматически сгенерированных классах? Одно из решений состоит в том, чтобы написать схему вручную, чтобы охватить все возможные элементы xml. Это то, что я в конечном итоге сделаю. Но пока я не исправил формат файла xml.
ОБНОВЛЕНИЕ:
Существует вероятность того, что метод getElemA()
может быть определен в автоматически сгенерированных классах. У меня нет контроля над автогенерацией этих классов. Но в моем основном классе, если есть следующий код,
If method getElemA exists then
ElemA elemA = getElemA()
Этот код всегда будет в моем основном классе. Если метод getElemA()
сгенерирован в одном из автоматически сгенерированных классов, то проблем нет. Но если этот метод не сгенерирован, то компиляторы жалуются, что этого метода нет ни в одном классе.
Можно ли как-нибудь заставить компилятор не жаловаться на эту функцию во время компиляции?