powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / програмное изменение классов
5 сообщений из 5, страница 1 из 1
програмное изменение классов
    #38950234
kadet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет,

коллеги, мне нужно решить такую задачу.

Имею проект, в котором часть класов (порядка 500) генерируются из xml schema (xsd файлы). Клиент получил новую версию schema и классы я тоже сгенерировал. Тоже порядка 500 классов. Разницу в каждом классе я определяю при помощи интроспекции. Разница как правило заключается в наличии (отсутствии) внутренних переменных, расширения других классов и интерфейсов.

Т.е. мне надо новые классы дополнить недостающими полями (и желательно get/set методами) и при необходимости расширить их классами и интерфейсами. Существует ли фрэймворк для модификации классов ?

спасибо
...
Рейтинг: 0 / 0
програмное изменение классов
    #38950235
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вагон и маленькая тележка. Например ASM.
Но подход у вас более чем странный. Вы создаёте какое-то переусложнение на ровном месте. Годогенерация сама по себе зло. Но если её не избежать, то не стоит вносить ручные изменения в генеренный код. Его нужно модифицировать обертками или другими средствами, но так чтобы при обновлении схемы, всегда можно было полностью всё перегенерировать и не потеряв изменений.
...
Рейтинг: 0 / 0
програмное изменение классов
    #38950969
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kadetвсем привет,

коллеги, мне нужно решить такую задачу.

Имею проект, в котором часть класов (порядка 500) генерируются из xml schema (xsd файлы). Клиент получил новую версию schema и классы я тоже сгенерировал. Тоже порядка 500 классов. Разницу в каждом классе я определяю при помощи интроспекции. Разница как правило заключается в наличии (отсутствии) внутренних переменных, расширения других классов и интерфейсов.


А зачем?
Если автоматом генерятся... Ну и пусть их.
Единственное где нужны будут исправления. это там где используются данные классы.

kadetТ.е. мне надо новые классы дополнить недостающими полями (и желательно get/set методами) и при необходимости расширить их классами и интерфейсами. Существует ли фрэймворк для модификации классов ?

спасибо

А наследование не поможет?
Создаете класс, который является наследником нагенеренного, добавляете туда нужные атрибуты и методы.
Тогда ваши "добавленные" атрибуты и методы при перегенерации никуда не денутся. Если не изменят названия нагенерированных классов.
...
Рейтинг: 0 / 0
програмное изменение классов
    #38970892
kadet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВагон и маленькая тележка. Например ASM.
Но подход у вас более чем странный. Вы создаёте какое-то переусложнение на ровном месте. Годогенерация сама по себе зло. Но если её не избежать, то не стоит вносить ручные изменения в генеренный код. Его нужно модифицировать обертками или другими средствами, но так чтобы при обновлении схемы, всегда можно было полностью всё перегенерировать и не потеряв изменений.

спасибо за ответ.

Я думал facade использовать для этого, но у меня опыта нет.
Вы не могли бы привести пример реализации ?

PS
я подвесил файл Abs.java, в который находятся два класса. Один текущий, а в хвост подвесил вновь сгенерированный Abs.java.
...
Рейтинг: 0 / 0
програмное изменение классов
    #38971076
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю речь просто идёт о пересоздании WS-стабов. Но почему такие
хитрые постановки?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / програмное изменение классов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]