@@ -98,21 +98,39 @@ private ValueExpressionQueryRewriter(ValueExpressionParser expressionParser,
9898	}
9999
100100	/** 
101- 	 * Creates a new {@link ValueExpressionQueryRewriter} using the given {@link ValueExpressionParser} and rewrite 
102- 	 * functions. 
101+ 	 * Creates a new ValueExpressionQueryRewriter using the given {@link ValueExpressionParser} and rewrite functions. 
103102	 * 
104103	 * @param expressionParser the expression parser to use. 
105104	 * @param parameterNameSource function to generate parameter names. Typically, a function of the form 
106105	 *          {@code (index, expression) -> "__some_placeholder_" + index}. 
107106	 * @param replacementSource function to generate replacements. Typically, a concatenation of the prefix and the 
108107	 *          parameter name such as {@code String::concat}. 
109- 	 * @return 
108+ 	 * @return a ValueExpressionQueryRewriter instance to rewrite queries and extract parsed {@link ValueExpression}s.  
110109	 */ 
111110	public  static  ValueExpressionQueryRewriter  of (ValueExpressionParser  expressionParser ,
112111			BiFunction <Integer , String , String > parameterNameSource , BiFunction <String , String , String > replacementSource ) {
113112		return  new  ValueExpressionQueryRewriter (expressionParser , parameterNameSource , replacementSource );
114113	}
115114
115+ 	/** 
116+ 	 * Creates a new EvaluatingValueExpressionQueryRewriter using the given {@link ValueExpressionDelegate} and rewrite 
117+ 	 * functions. 
118+ 	 * 
119+ 	 * @param delegate the ValueExpressionDelegate to use for parsing and to obtain EvaluationContextAccessor from. 
120+ 	 * @param parameterNameSource function to generate parameter names. Typically, a function of the form 
121+ 	 *          {@code (index, expression) -> "__some_placeholder_" + index}. 
122+ 	 * @param replacementSource function to generate replacements. Typically, a concatenation of the prefix and the 
123+ 	 *          parameter name such as {@code String::concat}. 
124+ 	 * @return a EvaluatingValueExpressionQueryRewriter instance to rewrite queries and extract parsed 
125+ 	 *         {@link ValueExpression}s. 
126+ 	 * @since 3.4 
127+ 	 */ 
128+ 	public  static  EvaluatingValueExpressionQueryRewriter  of (ValueExpressionDelegate  delegate ,
129+ 			BiFunction <Integer , String , String > parameterNameSource , BiFunction <String , String , String > replacementSource ) {
130+ 		return  of ((ValueExpressionParser ) delegate , parameterNameSource , replacementSource )
131+ 				.withEvaluationContextAccessor (delegate .getEvaluationContextAccessor ());
132+ 	}
133+ 
116134	/** 
117135	 * Parses the query for {@link org.springframework.data.expression.ValueExpression value expressions} using the 
118136	 * pattern: 
@@ -137,15 +155,15 @@ public ParsedQuery parse(String query) {
137155	 * Creates a {@link EvaluatingValueExpressionQueryRewriter} from the current one and the given 
138156	 * {@link QueryMethodValueEvaluationContextAccessor}. 
139157	 * 
140- 	 * @param factory  must not be {@literal null}. 
141- 	 * @return 
158+ 	 * @param accessor  must not be {@literal null}. 
159+ 	 * @return EvaluatingValueExpressionQueryRewriter instance to rewrite and evaluate Value Expressions.  
142160	 */ 
143161	public  EvaluatingValueExpressionQueryRewriter  withEvaluationContextAccessor (
144- 			QueryMethodValueEvaluationContextAccessor  factory ) {
162+ 			QueryMethodValueEvaluationContextAccessor  accessor ) {
145163
146- 		Assert .notNull (factory , "QueryMethodValueEvaluationContextAccessor must not be null" );
164+ 		Assert .notNull (accessor , "QueryMethodValueEvaluationContextAccessor must not be null" );
147165
148- 		return  new  EvaluatingValueExpressionQueryRewriter (expressionParser , factory , parameterNameSource ,
166+ 		return  new  EvaluatingValueExpressionQueryRewriter (expressionParser , accessor , parameterNameSource ,
149167				replacementSource );
150168	}
151169
0 commit comments