1919import java .util .function .Function ;
2020import java .util .function .Supplier ;
2121
22+ import org .springframework .data .mapping .model .SpELExpressionEvaluator ;
2223import org .springframework .data .mapping .model .ValueExpressionEvaluator ;
2324import org .springframework .data .spel .ExpressionDependencies ;
2425import org .springframework .data .util .Lazy ;
@@ -45,7 +46,9 @@ public class ParameterBindingContext {
4546 * @param valueProvider
4647 * @param expressionParser
4748 * @param evaluationContext
49+ * @deprecated since 4.3, use {@link #ParameterBindingContext(ValueProvider, ExpressionParser, Supplier)} instead.
4850 */
51+ @ Deprecated (since = "4.3" )
4952 public ParameterBindingContext (ValueProvider valueProvider , SpelExpressionParser expressionParser ,
5053 EvaluationContext evaluationContext ) {
5154 this (valueProvider , expressionParser , () -> evaluationContext );
@@ -59,13 +62,29 @@ public ParameterBindingContext(ValueProvider valueProvider, SpelExpressionParser
5962 */
6063 public ParameterBindingContext (ValueProvider valueProvider , ExpressionParser expressionParser ,
6164 Supplier <EvaluationContext > evaluationContext ) {
62- this (valueProvider , new EvaluationContextExpressionEvaluator (valueProvider , expressionParser , evaluationContext ));
65+ this (valueProvider , new EvaluationContextExpressionEvaluator (valueProvider , expressionParser ) {
66+ @ Override
67+ public EvaluationContext getEvaluationContext (String expressionString ) {
68+ return evaluationContext .get ();
69+ }
70+ });
6371 }
6472
6573 /**
6674 * @param valueProvider
6775 * @param expressionEvaluator
6876 * @since 3.1
77+ * @deprecated since 4.3, use {@link #ParameterBindingContext(ValueProvider, ValueExpressionEvaluator)} instead.
78+ */
79+ @ Deprecated (since = "4.3" )
80+ public ParameterBindingContext (ValueProvider valueProvider , SpELExpressionEvaluator expressionEvaluator ) {
81+ this (valueProvider , (ValueExpressionEvaluator ) expressionEvaluator );
82+ }
83+
84+ /**
85+ * @param valueProvider
86+ * @param expressionEvaluator
87+ * @since 4.3
6988 */
7089 public ParameterBindingContext (ValueProvider valueProvider , ValueExpressionEvaluator expressionEvaluator ) {
7190 this .valueProvider = valueProvider ;
@@ -86,7 +105,7 @@ public static ParameterBindingContext forExpressions(ValueProvider valueProvider
86105 Function <ExpressionDependencies , EvaluationContext > contextFunction ) {
87106
88107 return new ParameterBindingContext (valueProvider ,
89- new EvaluationContextExpressionEvaluator (valueProvider , expressionParser , null ) {
108+ new EvaluationContextExpressionEvaluator (valueProvider , expressionParser ) {
90109
91110 @ Override
92111 public EvaluationContext getEvaluationContext (String expressionString ) {
0 commit comments