Справочная информация:
Я попытался выполнить заданный здесь вопрос, но не смог добиться успеха.Acolyte требует, чтобы вы определили запросы и параметры, которые вы хотите обрабатывать в выражении соответствия, а значения, используемые в выражениях соответствия, должны быть известны во время компиляции.(Однако обратите внимание, что этот ответ StackOverflow , по-видимому, позволяет обойти это ограничение).
Если это действительно невозможно, невозможность динамически определить параметры и запросы для Acolyte приведет кбыть, для моего случая использования, серьезным ограничением структуры.Я подозреваю, что это было бы ограничением и для других.
Один пользователь SO, который выступал за использование Acolyte в горстке вопросов, указанных в этом комментарии , что возможно динамическиопределить запросы и их ответы.Итак, я открыл этот вопрос как приглашение для кого-то показать, что это так.
Вопрос :
Используя Acolyte, я хочу иметь возможность инкапсулироватьлогика сопоставления запросов и генерации их ответов.Это желаемая функция, потому что я хочу, чтобы мой код был СУХИМ.Другими словами, я ищу что-то вроде следующего псевдокода:
def generateHandler(query: String, accountId: Int, parameters: Seq[String]): ScalaCompositeHandler = AcolyteDSL.handleQuery {
parameters.foreach(p =>
// Tell the handler to handle this specific parameter
case acolyte.jdbc.QueryExecution(query, ExecutedParameter(accountId) :: ExecutedParameter(p) :: Nil) =>
someResultFunction(p)
)
}
Возможно ли это в Аколите?Если да, приведите пример.