Re: Шаблонный код в Java/Kotlin - возможно ли?
От: r0nd  
Дата: 16.10.23 18:06
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>Почему нельзя вынести одинаковые поля в общий класс?


С точки зрения вашей генерилки на основе XSD-схемы они все-таки разные. Чем обусловлено ваше стремление "подружить" разные классы? Предположу что находятся generated-sources?

RB>Классы авто-генерируются по xsd во время сборки.

RB>Файлы xsd берутся с сайта гос-учреждения, корректировать невозможно.

Их можно локально добавить в resources. Чтобы обеспечить офлайн сборку без прямого соединения (из CI/CD например).

В Kotlin вы можете использовать интерфейсы и обобщенные функции, чтобы достичь подобного поведения, как в вашем примере на C++ с шаблонными функциями. Вам не нужно выносить общие поля в общий класс, и вы можете работать с классами, имеющими общие поля, используя интерфейсы и обобщенные функции.

Следует помнить, что вы будете работать со своими объектами DTO (а не с экземплярами XSD-модели). Таким образом вы сможете дополнительно контролировать, если вдруг XSD-модель внезапмно изменится. В этом случае сборка просто не соберется (потому что мэппинг XSD-in-DTO не найдется) — и это будет сигнал об ошибке.
...<< Dementor 1.4.4 ✪ Lets Play a Game ⚁⚂⚂⚂⚅>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.