Example usage for org.springframework.expression Expression getValue

List of usage examples for org.springframework.expression Expression getValue

Introduction

In this page you can find the example usage for org.springframework.expression Expression getValue.

Prototype

@Nullable
Object getValue(EvaluationContext context) throws EvaluationException;

Source Link

Document

Evaluate this expression in the provided context and return the result of evaluation.

Usage

From source file:org.wte4j.impl.format.FormatterRegistry.java

static Formatter createFormatter(Class<? extends Formatter> formatterClass, List<String> args) {
    try {//from w  w  w  .j a v a2 s  .c om
        String springExpression = createSpringExpression(formatterClass, args);
        ExpressionParser parser = new SpelExpressionParser();
        Expression exp = parser.parseExpression(springExpression);
        return exp.getValue(Formatter.class);
    } catch (Exception e) {
        throw new FormatterInstantiationException(
                "Can not create new Instance of " + formatterClass.getName() + "with args " + args.toString(),
                e);
    }
}

From source file:com.px100systems.util.SpringELCtx.java

/**
 * EL-based iterator to Set conversion/*from w  w  w.  j  ava 2  s .  c  o m*/
 * @param valueExpression value EL
 * @param iterator iterator to iterate
 * @return the Set of values
 */
public static Set<Object> iset(String valueExpression, Iterator<?> iterator) {
    Expression val = new SpelExpressionParser().parseExpression(valueExpression);
    return iset(item -> val.getValue(new SpringELCtx(item)), iterator);
}

From source file:com.px100systems.util.SpringELCtx.java

/**
 * EL-based iterator to List conversion/*from ww w  . j ava2s. c om*/
 * @param valueExpression value EL
 * @param iterator iterator to iterate
 * @return the List of values
 */
public static List<Object> ilist(String valueExpression, Iterator<?> iterator) {
    Expression val = new SpelExpressionParser().parseExpression(valueExpression);
    return ilist(item -> val.getValue(new SpringELCtx(item)), iterator);
}

From source file:com.px100systems.util.RuleEngine.java

/**
 * Evaluate the rules on the given args//from   w w w.j a  v  a  2s .c  om
 * @param args arguments, accessed normally as "xxx" in expressions
 * @param defaultValue default value if all expressions returned null
 * @return the first not null expression result or defaultValue
 */
public Object eval(Map<String, Object> args, Object defaultValue) {
    SpringELCtx ctx = new SpringELCtx(new Context(args));

    for (Expression rule : rules) {
        Object result = rule.getValue(ctx);
        if (result != null)
            return result;
    }

    return defaultValue;
}

From source file:com.px100systems.util.SpringELCtx.java

/**
 * Iterator-based sum using Spring EL// ww  w.  java2  s . c  om
 * @param valueExpression how to get element values to sum
 * @param groupExpression what to group by elements by (optional)
 * @param iterator the iterator to iterate over
 * @return the sum
 */
public static Map<String, Double> isum(String valueExpression, String groupExpression, Iterator<?> iterator) {
    Expression val = new SpelExpressionParser().parseExpression(valueExpression);
    Expression grp = groupExpression == null ? null
            : new SpelExpressionParser().parseExpression(groupExpression);
    return isum(item -> new Double(val.getValue(new SpringELCtx(item)).toString()),
            grp == null ? null : item -> grp.getValue(new SpringELCtx(item), String.class), iterator);
}

From source file:com.px100systems.util.SpringELCtx.java

/**
 * Iterator-based minimum using Spring EL
 * @param valueExpression how to get element values to sum
 * @param groupExpression what to group by elements by (optional)
 * @param iterator the iterator to iterate over
 * @return the minimum/*from   ww w .j ava  2  s.c om*/
 */
public static Map<String, Double> imin(String valueExpression, String groupExpression, Iterator<?> iterator) {
    Expression val = new SpelExpressionParser().parseExpression(valueExpression);
    Expression grp = groupExpression == null ? null
            : new SpelExpressionParser().parseExpression(groupExpression);
    return imin(item -> new Double(val.getValue(new SpringELCtx(item)).toString()),
            grp == null ? null : item -> grp.getValue(new SpringELCtx(item), String.class), iterator);
}

From source file:com.px100systems.util.SpringELCtx.java

/**
 * Iterator-based maximum using Spring EL
 * @param valueExpression how to get element values to sum
 * @param groupExpression what to group by elements by (optional)
 * @param iterator the iterator to iterate over
 * @return the maximum//w  w  w .  j ava  2 s.c  o m
 */
public static Map<String, Double> imax(String valueExpression, String groupExpression, Iterator<?> iterator) {
    Expression val = new SpelExpressionParser().parseExpression(valueExpression);
    Expression grp = groupExpression == null ? null
            : new SpelExpressionParser().parseExpression(groupExpression);
    return imax(item -> new Double(val.getValue(new SpringELCtx(item)).toString()),
            grp == null ? null : item -> grp.getValue(new SpringELCtx(item), String.class), iterator);
}

From source file:com.px100systems.util.SpringELCtx.java

/**
 * Iterator-based average using Spring EL
 * @param valueExpression how to get element values to sum
 * @param groupExpression what to group by elements by (optional)
 * @param iterator the iterator to iterate over
 * @return the average/* w ww  .j  a v  a 2 s .c  om*/
 */
public static Map<String, Double> iaverage(String valueExpression, String groupExpression,
        Iterator<?> iterator) {
    Expression val = new SpelExpressionParser().parseExpression(valueExpression);
    Expression grp = groupExpression == null ? null
            : new SpelExpressionParser().parseExpression(groupExpression);
    return iaverage(item -> new Double(val.getValue(new SpringELCtx(item)).toString()),
            grp == null ? null : item -> grp.getValue(new SpringELCtx(item), String.class), iterator);
}

From source file:org.craftercms.security.processors.impl.UrlAccessRestrictionCheckingProcessor.java

protected boolean isAccessAllowed(HttpServletRequest request, Expression expression) {
    Object value = expression.getValue(createExpressionRoot(request));
    if (!(value instanceof Boolean)) {
        throw new IllegalStateException(
                "Expression " + expression.getExpressionString() + " should return a " + "boolean value");
    }//  w ww .j  a  v a  2 s  .c om

    return (Boolean) value;
}

From source file:org.apache.camel.language.spel.SpelExpression.java

public <T> T evaluate(Exchange exchange, Class<T> tClass) {
    try {/* ww  w .  ja  v  a  2 s .  c o  m*/
        Expression expression = parseExpression();
        EvaluationContext evaluationContext = createEvaluationContext(exchange);
        Object value = expression.getValue(evaluationContext);
        // Let Camel handle the type conversion, alternatively we could use Spring's build-in ConversionService.
        return exchange.getContext().getTypeConverter().convertTo(tClass, value);
    } catch (Exception e) {
        throw new ExpressionEvaluationException(this, exchange, e);
    }
}