public static BooleanExpression create(Template template, Object... args) { return new BooleanTemplate(template, ImmutableList.copyOf(args)); }
/** * Create a new Template expression * * @param template * @param args * @return */ public static BooleanExpression booleanTemplate(String template, Object... args) { return BooleanTemplate.create(template, args); }
public static BooleanExpression create(String template, Object one) { return new BooleanTemplate(TemplateFactory.DEFAULT.create(template), ImmutableList.of(one)); }
@Override public Expression<?> visit(TemplateExpression<?> expr, @Nullable Void context) { ImmutableList.Builder builder = ImmutableList.builder(); for (Object arg : expr.getArgs()) { if (arg instanceof Expression) { builder.add(((Expression)arg).accept(this, null)); } else { builder.add(arg); } } ImmutableList args = builder.build(); if (args.equals(expr.getArgs())) { return expr; } else { if (expr instanceof Predicate) { return BooleanTemplate.create(expr.getTemplate(), args); } else { return new TemplateExpressionImpl(expr.getType(), expr.getTemplate(), args); } } }
public static BooleanExpression create(String template, Object... args) { return new BooleanTemplate(TemplateFactory.DEFAULT.create(template), ImmutableList.copyOf(args)); }
@Override public Expression<?> visit(TemplateExpression<?> expr, Context context) { Object[] args = new Object[expr.getArgs().size()]; for (int i = 0; i < args.length; i++) { Context c = new Context(); if (expr.getArg(i) instanceof Expression) { args[i] = ((Expression<?>)expr.getArg(i)).accept(this, c); } else { args[i] = expr.getArg(i); } context.add(c); } if (context.replace) { if (expr.getType().equals(Boolean.class)) { Predicate predicate = BooleanTemplate.create(expr.getTemplate(), args); return !context.paths.isEmpty() ? exists(context, predicate) : predicate; } else { return TemplateExpressionImpl.create(expr.getType(), expr.getTemplate(), args); } } else { return expr; } }
public static BooleanExpression create(String template) { return new BooleanTemplate(TemplateFactory.DEFAULT.create(template), ImmutableList.of()); }
@Test @Ignore // FIXME public void Template_Expression() throws Exception { query.from(user); query.where(BooleanTemplate.create("!bound({0})", user)); assertEquals("SELECT * WHERE { ?user ?_c2 ?_c3 . }"); }
public static BooleanExpression create(String template, Object one, Object two) { return new BooleanTemplate(TemplateFactory.DEFAULT.create(template), ImmutableList.of(one, two)); }
@SuppressWarnings("unchecked") public Expression<?> visit(TemplateExpression<?> template, Filters filters) { ImmutableList.Builder<Object> builder = ImmutableList.builder(); for (Object arg : template.getArgs()) { if (arg instanceof Expression) { arg = transform((Expression) arg, filters); } if (arg != null) { builder.add(arg); } } if (template.getType().equals(Boolean.class)) { return new BooleanTemplate(template.getTemplate(), builder.build()); } else { return new TemplateExpressionImpl(template.getType(), template.getTemplate(), builder.build()); } }