Построитель простейших SQL запросов на примере выборок модуля File

Может кто-то и не знал, но в XText есть построитель простых SQL запросов, который я использую в мапперах этого плагина.

Согласитесь, как некрасиво переопределять метод маппера какого-либо модуля, ведь при этом полностью переписывается запрос, содержащийся в этом методе. А если его переопределят два плагина? Да, правильно, отработает только последний :)

Ради красивости решения, я придумал объект модифицируемого запроса в виде Entity. Называется он PluginXtext_ModuleSql_EntityQuery.

Давайте рассмотрим его на примере маппера тех же файлов, о которых недавно шла речь.

Для наглядности, в этом маппере, методы разделены на два типа: первые отдают объект Sql-запроса, вторые же — его исполняют и возвращают результат методу модуля.

Читать дальше →