public class StringBasedN1qlQueryParser extends Object
Modifier and Type | Class and Description |
---|---|
static class |
StringBasedN1qlQueryParser.N1qlSpelValues
This class is exposed to SpEL parsing through the variable
# . |
Modifier and Type | Field and Description |
---|---|
static Pattern |
NAMED_PLACEHOLDER_PATTERN
regexp that detect $named placeholder (starts with a letter, then alphanum chars)
|
N1QLExpression |
parsedExpression |
static Pattern |
POSITIONAL_PLACEHOLDER_PATTERN
regexp that detect positional placeholder ($ followed by digits only)
|
static Pattern |
QUOTE_DETECTION_PATTERN
regexp that detects " and ' quote boundaries, ignoring escaped quotes
|
static String |
SPEL_BUCKET
Use this variable in a SpEL expression in a
@Query annotation's inline statement. |
static String |
SPEL_DELETE
Use this variable in a SpEL expression in a
@Query annotation's inline statement. |
static String |
SPEL_ENTITY
Use this variable in a SpEL expression in a
@Query annotation's inline statement. |
static String |
SPEL_FILTER
Use this variable in a SpEL expression in a
@Query annotation's inline statement WHERE clause. |
static String |
SPEL_PREFIX |
static String |
SPEL_RETURNING
Use this variable in a SpEL expression in a
@Query annotation's inline statement. |
static String |
SPEL_SELECT_FROM_CLAUSE
Use this variable in a SpEL expression in a
@Query annotation's inline statement. |
Constructor and Description |
---|
StringBasedN1qlQueryParser(String statement,
QueryMethod queryMethod,
String bucketName,
CouchbaseConverter couchbaseConverter,
String typeField,
String typeValue,
ParameterAccessor accessor,
SpelExpressionParser parser,
QueryMethodEvaluationContextProvider evaluationContextProvider) |
Modifier and Type | Method and Description |
---|---|
static StringBasedN1qlQueryParser.N1qlSpelValues |
createN1qlSpelValues(String bucketName,
String typeField,
String typeValue,
boolean isCount) |
String |
doParse(SpelExpressionParser parser,
EvaluationContext evaluationContext,
boolean isCountQuery) |
StringBasedN1qlQueryParser.N1qlSpelValues |
getCountContext() |
protected com.couchbase.client.java.json.JsonValue |
getPlaceholderValues(ParameterAccessor accessor) |
String |
getStatement() |
StringBasedN1qlQueryParser.N1qlSpelValues |
getStatementContext() |
protected boolean |
useGeneratedCountQuery() |
public static final String SPEL_PREFIX
public static final String SPEL_SELECT_FROM_CLAUSE
@Query
annotation's inline statement. This will be
replaced by the correct SELECT x FROM y
clause needed for entity mapping. Eg.
"#{"#n1ql.selectEntity"} WHERE test = true"
. Note this only makes sense once, as the
beginning of the statement.public static final String SPEL_BUCKET
@Query
annotation's inline statement. This will be
replaced by the (escaped) bucket name corresponding to the repository's entity. Eg.
"SELECT * FROM #{"#n1ql.bucket"} LIMIT 3"
.public static final String SPEL_ENTITY
@Query
annotation's inline statement. This will be
replaced by the fields allowing to construct the repository's entity (SELECT clause). Eg.
"SELECT #{"#n1ql.fields"} FROM test"
.public static final String SPEL_FILTER
@Query
annotation's inline statement WHERE clause. This
will be replaced by the expression allowing to only select documents matching the entity's class. Eg.
"SELECT * FROM test WHERE test = true AND #{"#n1ql.filter"}"
.public static final String SPEL_DELETE
@Query
annotation's inline statement. This will be
replaced by the correct delete
expression needed Eg.
"#{"#n1ql.delete"} WHERE test = true"
. Note this only makes sense once, as the beginning of the
statement.public static final String SPEL_RETURNING
@Query
annotation's inline statement. This will be
replaced by the correct returning
clause needed for entity mapping. Eg.
"#{"#n1ql.returning"} WHERE test = true"
. Note this only makes sense once, as the beginning of
the statement.public static final Pattern NAMED_PLACEHOLDER_PATTERN
public static final Pattern POSITIONAL_PLACEHOLDER_PATTERN
public static final Pattern QUOTE_DETECTION_PATTERN
public final N1QLExpression parsedExpression
public StringBasedN1qlQueryParser(String statement, QueryMethod queryMethod, String bucketName, CouchbaseConverter couchbaseConverter, String typeField, String typeValue, ParameterAccessor accessor, SpelExpressionParser parser, QueryMethodEvaluationContextProvider evaluationContextProvider)
public static StringBasedN1qlQueryParser.N1qlSpelValues createN1qlSpelValues(String bucketName, String typeField, String typeValue, boolean isCount)
public String doParse(SpelExpressionParser parser, EvaluationContext evaluationContext, boolean isCountQuery)
protected com.couchbase.client.java.json.JsonValue getPlaceholderValues(ParameterAccessor accessor)
protected boolean useGeneratedCountQuery()
public StringBasedN1qlQueryParser.N1qlSpelValues getCountContext()
public StringBasedN1qlQueryParser.N1qlSpelValues getStatementContext()
public String getStatement()
Copyright © 2011–2021 Pivotal Software, Inc.. All rights reserved.