Здравствуйте, 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 ⚁⚂⚂⚂⚅>>