4141 * with bind variables. 
4242 * <p> 
4343 * Result of the parse process is a {@link ParsedQuery} which provides the transformed query string. Alternatively and 
44-  * preferred one may provide a {@link QueryMethodEvaluationContextProvider } via 
44+  * preferred one may provide a {@link QueryMethodValueEvaluationContextAccessor } via 
4545 * {@link #withEvaluationContextAccessor(QueryMethodValueEvaluationContextAccessor)} which will yield the more powerful 
4646 * {@link EvaluatingValueExpressionQueryRewriter}. 
4747 * <p> 
4848 * Typical usage looks like 
4949 * 
50-  * <pre> 
51-  * <code> 
52-      ExpressionQueryRewriter.ParsedQuery parsed = ExpressionQueryRewriter 
53-          .of(valueExpressionParser, (counter, expression) -> String.format("__$synthetic$__%d", counter), String::concat) 
54-          .withEvaluationContextProvider(evaluationContextProviderFactory); 
55- 
56-      ExpressionQueryRewriter.QueryExpressionEvaluator evaluator = queryContext.parse(query, queryMethod.getParameters()); 
57- 
58-      evaluator.evaluate(objects).forEach(parameterMap::addValue); 
59-  * </code> 
50+  * <pre class="code"> 
51+  * ValueExpressionQueryRewriter.EvaluatingValueExpressionQueryRewriter rewriter = ValueExpressionQueryRewriter 
52+  * 		.of(valueExpressionParser, (counter, expression) -> String.format("__$synthetic$__%d", counter), String::concat) 
53+  * 		.withEvaluationContextAccessor(evaluationContextProviderFactory); 
54+  * 
55+  * ValueExpressionQueryRewriter.QueryExpressionEvaluator evaluator = rewriter.parse(query, queryMethod.getParameters()); 
56+  * 
57+  * evaluator.evaluate(objects).forEach(parameterMap::addValue); 
6058 * </pre> 
6159 * 
6260 * @author Jens Schauder 
@@ -74,16 +72,16 @@ public class ValueExpressionQueryRewriter {
7472	/** 
7573	 * A function from the index of a Value expression in a query and the actual Value Expression to the parameter name to 
7674	 * be used in place of the Value Expression. A typical implementation is expected to look like 
77- 	 * < code> (index, expression) -> "__some_placeholder_" + index</code>  
75+ 	 * {@ code  (index, expression) -> "__some_placeholder_" + index}.  
7876	 */ 
7977	private  final  BiFunction <Integer , String , String > parameterNameSource ;
8078
8179	/** 
8280	 * A function from a prefix used to demarcate a Value Expression in a query and a parameter name as returned from 
8381	 * {@link #parameterNameSource} to a {@literal String} to be used as a replacement of the Value Expressions in the 
8482	 * query. The returned value should normally be interpretable as a bind parameter by the underlying persistence 
85- 	 * mechanism. A typical implementation is expected to look like < code> (prefix, name) -> prefix + name</code>  or 
86- 	 * < code> (prefix, name) -> "{" + name + "}"</code>  
83+ 	 * mechanism. A typical implementation is expected to look like {@ code  (prefix, name) -> prefix + name}  or 
84+ 	 * {@ code  (prefix, name) -> "{" + name + "}"}.  
8785	 */ 
8886	private  final  BiFunction <String , String , String > replacementSource ;
8987
@@ -99,6 +97,17 @@ private ValueExpressionQueryRewriter(ValueExpressionParser expressionParser,
9997		this .expressionParser  = expressionParser ;
10098	}
10199
100+ 	/** 
101+ 	 * Creates a new {@link ValueExpressionQueryRewriter} using the given {@link ValueExpressionParser} and rewrite 
102+ 	 * functions. 
103+ 	 * 
104+ 	 * @param expressionParser the expression parser to use. 
105+ 	 * @param parameterNameSource function to generate parameter names. Typically, a function of the form 
106+ 	 *          {@code (index, expression) -> "__some_placeholder_" + index}. 
107+ 	 * @param replacementSource function to generate replacements. Typically, a concatenation of the prefix and the 
108+ 	 *          parameter name such as {@code String::concat}. 
109+ 	 * @return 
110+ 	 */ 
102111	public  static  ValueExpressionQueryRewriter  of (ValueExpressionParser  expressionParser ,
103112			BiFunction <Integer , String , String > parameterNameSource , BiFunction <String , String , String > replacementSource ) {
104113		return  new  ValueExpressionQueryRewriter (expressionParser , parameterNameSource , replacementSource );
0 commit comments