Ваша программа слинкованная с JDK не становится GPL программой. Ровно до тех пор, пока вы не линкуетесь с нативным кодом JDK и пока используете публичные механизмы Java. Конечно же, вам разрешено наследовать классы JDK, тут ограничений нет.
YARG полностью независимый от платформы OSS продукт, с отдельным релиз циклом. Все его фичи доступны без платформы.
Модель вывода чуть проще, но благодаря этому мы поддерживаем много форматов вывода: DOC/DOCX, XLS/XLSX, PDF, HTML, CSV и множество вариантов загрузки данных: SQL/JPQL/Groovy/JSON/Custom.
До кучи, YARG можно запускать как микросервис, даже если вы не пишете на Java.
Многостраничная (с динамическим числом страниц) генерация в YARG пока возможна только в custom форматтерах, это направление пока только планируем развивать.
Не все любят генерировать код дополнительный, когда все эти сведения и так есть в коде сущностей. Согласитесь, если бы была поддержка компилятором — было бы всем лучше.
Да, это тоже нормальное решение, но получается, что мы генерируем ещё код по классам сущностей, дополнительный boilerplate. Это всё мог бы давать и компилятор, как в случае с C#.
Тут действительно автор этот момент не поясняет. Например, в C# nameOf используется для биндинга данных с учетом атрибутов свойства, а для их получения нужна рефлексия.
Найдите, пожалуйста, как это сделано в Guava для свойств. Статья ничего не говорит про класс литералы. Тут речь о том, чтобы получить доступ к аннотациям над полями, при этом типобезопасно. BeanValidation как раз нуждается в аннотациях, а не только в значении поля.
Ваша программа слинкованная с JDK не становится GPL программой. Ровно до тех пор, пока вы не линкуетесь с нативным кодом JDK и пока используете публичные механизмы Java. Конечно же, вам разрешено наследовать классы JDK, тут ограничений нет.
Позволяет линковать Java код с JDK/JRE не накладывая вирусное условие GPL
Прочитайте Classpath Exception.
Модель вывода чуть проще, но благодаря этому мы поддерживаем много форматов вывода: DOC/DOCX, XLS/XLSX, PDF, HTML, CSV и множество вариантов загрузки данных: SQL/JPQL/Groovy/JSON/Custom.
До кучи, YARG можно запускать как микросервис, даже если вы не пишете на Java.
Многостраничная (с динамическим числом страниц) генерация в YARG пока возможна только в custom форматтерах, это направление пока только планируем развивать.
Прежде чем такое заявлять — изучите инструмент.
Тут действительно автор этот момент не поясняет. Например, в C# nameOf используется для биндинга данных с учетом атрибутов свойства, а для их получения нужна рефлексия.