Skip to content

Commit

Permalink
Merge pull request #27604 from Xjzon
Browse files Browse the repository at this point in the history
* pr/27604:
  Polish "Add support for custom expression parsing"
  Add support for custom expression parsing

Closes gh-27604
  • Loading branch information
snicoll committed Oct 28, 2021
2 parents 0416168 + f295c8b commit 47d3819
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 3 deletions.
Expand Up @@ -75,7 +75,7 @@ protected ParameterNameDiscoverer getParameterNameDiscoverer() {

/**
* Return the {@link Expression} for the specified SpEL value
* <p>Parse the expression if it hasn't been already.
* <p>{@link #parseExpression(String) Parse the expression} if it hasn't been already.
* @param cache the cache to use
* @param elementKey the element on which the expression is defined
* @param expression the expression to parse
Expand All @@ -86,12 +86,21 @@ protected Expression getExpression(Map<ExpressionKey, Expression> cache,
ExpressionKey expressionKey = createKey(elementKey, expression);
Expression expr = cache.get(expressionKey);
if (expr == null) {
expr = getParser().parseExpression(expression);
expr = parseExpression(expression);
cache.put(expressionKey, expr);
}
return expr;
}

/**
* Parse the specified {@code expression}.
* @param expression the expression to parse
* @since 5.3.13
*/
protected Expression parseExpression(String expression) {
return getParser().parseExpression(expression);
}

private ExpressionKey createKey(AnnotatedElementKey elementKey, String expression) {
return new ExpressionKey(elementKey, expression);
}
Expand Down
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2019 the original author or authors.
* Copyright 2002-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down

0 comments on commit 47d3819

Please sign in to comment.