@Override public Object getValue(String paramName) throws IllegalArgumentException { if (values.containsKey(paramName)) { return values.get(paramName); } if (!parameterExpressions.containsKey(paramName)) { Expression[] expressions = new Expression[] { PARSER.parseExpression(paramName), PARSER.parseExpression("#root.![" + paramName + "]") }; ExpressionEvaluatingSqlParameterSourceFactory.this.parameterExpressions.put( paramName, expressions); this.parameterExpressions.put(paramName, expressions); } Expression expression = null; if (input instanceof Collection<?>) { expression = parameterExpressions.get(paramName)[1]; } else { expression = parameterExpressions.get(paramName)[0]; } Object value = evaluateExpression(expression, input); values.put(paramName, value); if (logger.isDebugEnabled()) { logger.debug("Resolved expression " + expression + " to " + value); } return value; }
/** * @param groupTimeoutExpression the group timeout expression string. * @return the handler spec. * @see AbstractCorrelatingMessageHandler#setGroupTimeoutExpression */ public S groupTimeoutExpression(String groupTimeoutExpression) { Assert.hasText(groupTimeoutExpression, "'groupTimeoutExpression' must not be empty string."); this.handler.setGroupTimeoutExpression(PARSER.parseExpression(groupTimeoutExpression)); return _this(); }
FileWritingMessageHandlerSpec(String directoryExpression) { this.target = new FileWritingMessageHandler(PARSER.parseExpression(directoryExpression)); }