Может кто-то и не знал, но в XText есть построитель простых SQL запросов, который я использую в мапперах этого плагина.
Согласитесь, как некрасиво переопределять метод маппера какого-либо модуля, ведь при этом полностью переписывается запрос, содержащийся в этом методе. А если его переопределят два плагина? Да, правильно, отработает только последний :)
Ради красивости решения, я придумал объект модифицируемого запроса в виде Entity. Называется он PluginXtext_ModuleSql_EntityQuery.
Давайте рассмотрим его на примере маппера тех же
файлов, о которых недавно шла речь.
Для наглядности, в этом маппере, методы разделены на два типа: первые отдают объект Sql-запроса, вторые же — его исполняют и возвращают результат методу модуля.
Читать дальше →