public static LogicalExpression create(String functionName, List<LogicalExpression> expressions)
throws ExpressionValidationException {
// logger.debug("Requesting generation of new function with name {}.",
// functionName);
if (!FUNCTION_MAP.containsKey(functionName)) {
throw new ExpressionValidationException(String.format("Unknown function with name '%s'", functionName));
}
try {
return FUNCTION_MAP.get(functionName).newInstance(expressions);
} catch (Exception e) {
throw new ExpressionValidationException("Failure while attempting to build type of " + functionName, e);
}
}