private List<String> generateExpression(String expressionPattern, Long value) { return formatExpression(expressionPattern, value, "bigint"); }
private List<String> generateExpression(String expressionPattern, Integer value) { return formatExpression(expressionPattern, value, "integer"); }
private List<String> generateExpression(String expressionPattern, String value) { return formatExpression(expressionPattern, value, "varchar"); }
private List<String> generateExpression(String expressionPattern, Integer left, Double right) { return formatExpression(expressionPattern, left, "integer", right, "double"); }
private List<String> generateExpression(String expressionPattern, Integer first, Double second, Integer third) { return formatExpression(expressionPattern, first, "integer", second, "double", third, "integer"); }
private List<String> generateExpression(String expressionPattern, Double first, Double second, Integer third) { return formatExpression(expressionPattern, first, "double", second, "double", third, "integer"); }
private List<String> generateExpression(String expressionPattern, Double value) { return formatExpression(expressionPattern, value, "double"); }
private List<String> generateExpression(String expressionPattern, Integer left, Integer right) { return formatExpression(expressionPattern, left, "integer", right, "integer"); }
private List<String> generateExpression(String expressionPattern, Double left, Double right) { return formatExpression(expressionPattern, left, "double", right, "double"); }
private List<String> generateExpression(String expressionPattern, Double first, Double second, Long third) { return formatExpression(expressionPattern, first, "double", second, "double", third, "bigint"); }
private List<String> generateExpression(String expressionPattern, Double first, Long second, Double third) { return formatExpression(expressionPattern, first, "double", second, "bigint", third, "double"); }
private List<String> generateExpression(String expressionPattern, Long left, Long right) { return formatExpression(expressionPattern, left, "bigint", right, "bigint"); }
private List<String> generateExpression(String expressionPattern, String left, String right) { return formatExpression(expressionPattern, left, "varchar", right, "varchar"); }
private List<String> generateExpression(String expressionPattern, String first, String second, String third) { return formatExpression(expressionPattern, first, "varchar", second, "varchar", third, "varchar"); }
private List<String> generateExpression(String expressionPattern, String first, Long second, Long third) { return formatExpression(expressionPattern, first, "varchar", second, "bigint", third, "bigint"); }
private static List<String> formatExpression(String expressionPattern, Object value, String type) { return formatExpression(expressionPattern, Arrays.asList(value), ImmutableList.of(type)); }
private static List<String> formatExpression(String expressionPattern, Object left, final String leftType, Object right, final String rightType) { return formatExpression(expressionPattern, Arrays.asList(left, right), ImmutableList.of(leftType, rightType)); }
private static List<String> formatExpression(String expressionPattern, Object first, String firstType, Object second, String secondType, Object third, String thirdType) { return formatExpression(expressionPattern, Arrays.asList(first, second, third), ImmutableList.of(firstType, secondType, thirdType)); }
private List<String> generateExpression(String expressionPattern, BigDecimal value) { return formatExpression(expressionPattern, value, getDecimalType(value).toString()); }
private List<String> generateExpression(String expressionPattern, BigDecimal left, Integer right) { return formatExpression(expressionPattern, left, getDecimalType(left).toString(), right, "integer"); }