Class SpelQueryContext
java.lang.Object
org.springframework.data.repository.query.SpelQueryContext
- Direct Known Subclasses:
SpelQueryContext.EvaluatingSpelQueryContext
Source of
SpelQueryContext.SpelExtractor encapsulating configuration often common for all queries.- Since:
- 2.1
- Author:
- Jens Schauder, Gerrit Meier, Mark Paluch
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn extension ofSpelQueryContextthat can createSpelEvaluatorinstances as it also knows about aQueryMethodEvaluationContextProvider.classParses a query string, identifies the contained SpEL expressions, replaces them with bind parameters and offers aMapfrom those bind parameters to the SpEL expression. -
Method Summary
Modifier and TypeMethodDescriptionstatic SpelQueryContextof(BiFunction<Integer, String, String> parameterNameSource, BiFunction<String, String, String> replacementSource) Parses the query for SpEL expressions using the pattern:CreatesaSpelQueryContext.EvaluatingSpelQueryContextfrom the current one and the givenQueryMethodEvaluationContextProvider.
-
Method Details
-
of
public static SpelQueryContext of(BiFunction<Integer, String, String> parameterNameSource, BiFunction<String, String, String> replacementSource) -
parse
Parses the query for SpEL expressions using the pattern:<prefix>#{<spel>}with prefix being the character ':' or '?'. Parsing honors quoted Strings enclosed in single or double quotation marks.- Parameters:
query- a query containing SpEL expressions in the format described above. Must not be null.- Returns:
- A
SpelQueryContext.SpelExtractorwhich makes the query with SpEL expressions replaced by bind parameters and a map from bind parameter to SpEL expression available. Guaranteed to be not null.
-
withEvaluationContextProvider
public SpelQueryContext.EvaluatingSpelQueryContext withEvaluationContextProvider(QueryMethodEvaluationContextProvider provider) CreatesaSpelQueryContext.EvaluatingSpelQueryContextfrom the current one and the givenQueryMethodEvaluationContextProvider.- Parameters:
provider- must not be null.- Returns:
-