@SuppressWarnings("unchecked") public <T> T getValue(Class<T> T) { return (T)(expression != null ? expression.getExpressionValue() : null); } }
private JAXBExpression getJAXBExpression(Expression expr) { JAXBExpression jaxb = new JAXBExpression(); jaxb.setLang(expr.getExpressionLanguage()); jaxb.setBody(expr.getExpressionBody()); return jaxb; }
/** * Evaluate an expression for a given token. * <p/> * Note that <code>propName.replace(".", "_")</code> applies to property names * for MVEL expressions, because the dot notation has special meaning in MVEL. */ public Object evaluateExpression(Token token) { ExpressionLanguage exprLang = expr.getExpressionLanguage(); if (exprLang == ExpressionLanguage.MVEL) { String mvel = expr.getExpressionBody(); ExecutionContext exContext = token.getExecutionContext(); Map<String, Object> vars = new HashMap<String, Object>(); for (Key key : exContext.getAttachmentKeys()) { String name = key.getNamePart(); Object value = exContext.getAttachment(name); vars.put(name.replace(".", "_"), value); } return MVEL.eval(mvel, vars); } else { throw new IllegalStateException("Unsupported expression language: " + exprLang); } } }
if (expr.getExpressionLanguage() == ExpressionLanguage.MVEL) String mvel = expr.getExpressionBody(); ExecutionContext exContext = token.getExecutionContext(); Map<String, Object> vars = new HashMap<String, Object>(); throw new IllegalStateException("Unsupported expression language: " + expr.getExpressionLanguage());
public Object getValue() { return (expression != null ? expression.getExpressionValue() : null); }