public PredicateTemplate(String template, Object... args) { super(Boolean.class, TemplateFactory.DEFAULT.create(template), args); }
protected final void add(Operator<?> op, String pattern) { templates.put(op, templateFactory.create(pattern)); if (!precedence.containsKey(op)) { precedence.put(op, -1); } }
private static Template createTemplate(String function, int argCount) { StringBuilder builder = new StringBuilder(); builder.append(function); builder.append("("); for (int i = 0; i < argCount; i++) { if (i > 0) { builder.append(", "); } builder.append("{"+ i + "}"); } builder.append(")"); return TemplateFactory.DEFAULT.create(builder.toString()); }
/** * Create a new Template expression * * @param cl type of expression * @param template template * @param args template parameters * @return template expression */ public static <T> TemplateExpression<T> template(Class<? extends T> cl, String template, Object... args) { return template(cl, TemplateFactory.DEFAULT.create(template), ImmutableList.copyOf(args)); }
/** * Create a new Template expression * * @param template template * @param args template parameters * @return template expression */ public static PredicateTemplate predicateTemplate(String template, ImmutableList<?> args) { return predicateTemplate(TemplateFactory.DEFAULT.create(template), args); }
/** * Create a new Template expression * * @param cl type of expression * @param template template * @param args template parameters * @return template expression */ public static <T> TemplateExpression<T> template(Class<? extends T> cl, String template, ImmutableList<?> args) { return template(cl, TemplateFactory.DEFAULT.create(template), args); }
/** * Create a new Template expression * * @param template template * @param args template parameters * @return template expression */ public static PredicateTemplate predicateTemplate(String template, Object... args) { return predicateTemplate(TemplateFactory.DEFAULT.create(template), ImmutableList.copyOf(args)); }
public static <T> DslExpression<T> create(Class<? extends T> type, String template, Object one) { return new DslTemplate<T>(type, TemplateFactory.DEFAULT.create(template), ImmutableList.of(one)); }
public static <T extends Comparable<?>> TimeTemplate<T> create(Class<T> type, String template) { return new TimeTemplate<T>(type, TemplateFactory.DEFAULT.create(template), ImmutableList.of()); }
public static <T extends Comparable<?>> TimeTemplate<T> create(Class<T> type, String template, Object one, Object two) { return new TimeTemplate<T>(type, TemplateFactory.DEFAULT.create(template), ImmutableList.of(one, two)); }
public static <T extends Comparable<?>> ComparableExpression<T> create(Class<T> type, String template, Object one, Object two) { return new ComparableTemplate<T>(type, TemplateFactory.DEFAULT.create(template), ImmutableList.of(one, two)); }
public static StringExpression create(String template, Object one) { return new StringTemplate(TemplateFactory.DEFAULT.create(template), ImmutableList.of(one)); }
public static <T> SimpleExpression<T> create(Class<? extends T> type, String template, Object one) { return new SimpleTemplate<T>(type, TemplateFactory.DEFAULT.create(template), ImmutableList.of(one)); }
public static <T extends Number & Comparable<?>> NumberExpression<T> create(Class<T> type, String template, Object... args) { return new NumberTemplate<T>(type, TemplateFactory.DEFAULT.create(template), ImmutableList.copyOf(args)); }
public static <T extends Comparable<?>> DateExpression<T> create(Class<T> type, String template) { return new DateTemplate<T>(type, TemplateFactory.DEFAULT.create(template), ImmutableList.of()); }
public static <T extends Comparable<?>> DateTimeExpression<T> create(Class<T> type, String template, Object one, Object two) { return new DateTimeTemplate<T>(type, TemplateFactory.DEFAULT.create(template), ImmutableList.of(one, two)); }
public static <T extends Comparable<?>> DateTimeExpression<T> create(Class<T> type, String template, Object... args) { return new DateTimeTemplate<T>(type, TemplateFactory.DEFAULT.create(template), ImmutableList.copyOf(args)); }
public static <T extends Comparable<?>> TimeTemplate<T> create(Class<T> type, String template, Object... args) { return new TimeTemplate<T>(type, TemplateFactory.DEFAULT.create(template), ImmutableList.copyOf(args)); }
public static <T extends Enum<T>> EnumExpression<T> create(Class<T> type, String template, Object one, Object two) { return new EnumTemplate<T>(type, TemplateFactory.DEFAULT.create(template), ImmutableList.of(one, two)); }
public MyCustomExpr(Expression<?>... args) { super(TemplateFactory.DEFAULT.create("myCustom({0},{1})"), ImmutableList.copyOf(args)); } }