private Expression parseTemplate(String expressionString, ParserContext context) throws ParseException { if (expressionString.isEmpty()) { return new LiteralExpression(""); } Expression[] expressions = parseExpressions(expressionString, context); if (expressions.length == 1) { return expressions[0]; } else { return new CompositeStringExpression(expressionString, expressions); } }
@Override @Nullable public <T> T getValue(@Nullable Class<T> expectedResultType) throws EvaluationException { Object value = getValue(); return ExpressionUtils.convertTypedValue(null, new TypedValue(value), expectedResultType); }
assertEquals(CompositeStringExpression.class,ex.getClass()); CompositeStringExpression cse = (CompositeStringExpression)ex; Expression[] exprs = cse.getExpressions(); assertEquals(3,exprs.length); assertEquals("listOfNumbersUpToTen.$[#root.listOfNumbersUpToTen.$[#this%2==1]==3]",exprs[1].getExpressionString());
/** * Helper to escape an expression: stripping ${ } */ private String escapeExpression(Expression expression) { if (expression instanceof CompositeStringExpression) { StringBuilder sb = new StringBuilder(); for (Expression e : ((CompositeStringExpression) expression).getExpressions()) { sb.append(e.getExpressionString()); } return sb.toString(); } return expression.getExpressionString(); }
/** * Helper to escape an expression: stripping ${ } */ private String escapeExpression(Expression expression) { if (expression instanceof CompositeStringExpression) { StringBuilder sb = new StringBuilder(); for (Expression e : ((CompositeStringExpression) expression).getExpressions()) { sb.append(e.getExpressionString()); } return sb.toString(); } return expression.getExpressionString(); } }
@Override @Nullable public <T> T getValue(Object rootObject, @Nullable Class<T> desiredResultType) throws EvaluationException { Object value = getValue(rootObject); return ExpressionUtils.convertTypedValue(null, new TypedValue(value), desiredResultType); }
private Expression parseTemplate(String expressionString, ParserContext context) throws ParseException { if (expressionString.isEmpty()) { return new LiteralExpression(""); } Expression[] expressions = parseExpressions(expressionString, context); if (expressions.length == 1) { return expressions[0]; } else { return new CompositeStringExpression(expressionString, expressions); } }
private Expression[] detectExpressions(String sql) { Expression expression = this.expressionParser.parseExpression(sql, ParserContext.TEMPLATE_EXPRESSION); if (expression instanceof LiteralExpression) { return new Expression[] { expression }; } else if (expression instanceof CompositeStringExpression) { return ((CompositeStringExpression) expression).getExpressions(); } else { throw new SpannerDataException("Unexpected expression type. " + "Query can either contain no SpEL expressions or have SpEL expressions in the SQL."); } }
@Override @Nullable public <T> T getValue(EvaluationContext context, @Nullable Class<T> expectedResultType) throws EvaluationException { Object value = getValue(context); return ExpressionUtils.convertTypedValue(context, new TypedValue(value), expectedResultType); }
private Expression parseTemplate(String expressionString, ParserContext context) throws ParseException { if (expressionString.isEmpty()) { return new LiteralExpression(""); } Expression[] expressions = parseExpressions(expressionString, context); if (expressions.length == 1) { return expressions[0]; } else { return new CompositeStringExpression(expressionString, expressions); } }
private Expression[] detectExpressions(String sql) { Expression expression = this.expressionParser.parseExpression(sql, ParserContext.TEMPLATE_EXPRESSION); if (expression instanceof LiteralExpression) { return new Expression[] { expression }; } else if (expression instanceof CompositeStringExpression) { return ((CompositeStringExpression) expression).getExpressions(); } else { throw new SpannerDataException("Unexpected expression type. " + "Query can either contain no SpEL expressions or have SpEL expressions in the SQL."); } }
@Override @Nullable public <T> T getValue(EvaluationContext context, Object rootObject, @Nullable Class<T> desiredResultType) throws EvaluationException { Object value = getValue(context,rootObject); return ExpressionUtils.convertTypedValue(context, new TypedValue(value), desiredResultType); }
if (exp instanceof CompositeStringExpression) { StringBuilder sb = new StringBuilder(); Expression[] expressions = ((CompositeStringExpression) exp).getExpressions(); for (Expression e : expressions) { String value = e.getValue(evaluationContext, String.class);
@Override @Nullable public <T> T getValue(@Nullable Class<T> expectedResultType) throws EvaluationException { Object value = getValue(); return ExpressionUtils.convertTypedValue(null, new TypedValue(value), expectedResultType); }
if (exp instanceof CompositeStringExpression) { StringBuilder sb = new StringBuilder(); Expression[] expressions = ((CompositeStringExpression) exp).getExpressions(); for (Expression e : expressions) { String value = e.getValue(evaluationContext, String.class);
@Override @Nullable public <T> T getValue(EvaluationContext context, @Nullable Class<T> expectedResultType) throws EvaluationException { Object value = getValue(context); return ExpressionUtils.convertTypedValue(context, new TypedValue(value), expectedResultType); }
@Override @Nullable public <T> T getValue(Object rootObject, @Nullable Class<T> desiredResultType) throws EvaluationException { Object value = getValue(rootObject); return ExpressionUtils.convertTypedValue(null, new TypedValue(value), desiredResultType); }
@Override @Nullable public <T> T getValue(EvaluationContext context, Object rootObject, @Nullable Class<T> desiredResultType) throws EvaluationException { Object value = getValue(context,rootObject); return ExpressionUtils.convertTypedValue(context, new TypedValue(value), desiredResultType); }
@Override @Nullable public <T> T getValue(@Nullable Class<T> expectedResultType) throws EvaluationException { Object value = getValue(); return ExpressionUtils.convertTypedValue(null, new TypedValue(value), expectedResultType); }
@Override @Nullable public <T> T getValue(Object rootObject, @Nullable Class<T> desiredResultType) throws EvaluationException { Object value = getValue(rootObject); return ExpressionUtils.convertTypedValue(null, new TypedValue(value), desiredResultType); }