public class N1qlUtils extends Object
Modifier and Type | Field and Description |
---|---|
static Converter<? super CouchbasePersistentProperty,String> |
FIELD_NAME_ESCAPED
A converter that can be used to extract the
fieldName ,
eg. when one wants a path from PersistentPropertyPath.toDotPath(Converter) made of escaped field names. |
Constructor and Description |
---|
N1qlUtils() |
Modifier and Type | Method and Description |
---|---|
static com.couchbase.client.java.query.N1qlQuery |
buildQuery(com.couchbase.client.java.query.Statement statement,
com.couchbase.client.java.document.json.JsonValue queryPlaceholderValues,
com.couchbase.client.java.query.consistency.ScanConsistency scanConsistency)
Creates N1QLQuery object from the statement, query placeholder values and scan consistency
|
static <T> com.couchbase.client.java.query.Statement |
createCountQueryForEntity(String bucketName,
CouchbaseConverter converter,
CouchbaseEntityInformation<T,String> entityInformation)
Creates a full N1QL query that counts total number of the given entity in the bucket.
|
static com.couchbase.client.java.query.dsl.Expression |
createReturningExpressionForDelete(String bucketName)
Creates the returning clause for N1ql deletes with all attributes of the entity and meta information
|
static com.couchbase.client.java.query.dsl.path.FromPath |
createSelectClauseForEntity(String bucketName)
Produce a
Statement that corresponds to the SELECT clause for looking for Spring Data entities
stored in Couchbase. |
static com.couchbase.client.java.query.dsl.path.FromPath |
createSelectClauseForEntity(String bucketName,
ReturnedType returnedType,
CouchbaseConverter converter)
Produce a
Statement that corresponds to the SELECT clause for looking for Spring Data entities
stored in Couchbase. |
static com.couchbase.client.java.query.dsl.path.WherePath |
createSelectFromForEntity(String bucketName)
Produce a
Statement that corresponds to the SELECT...FROM clauses for looking for Spring Data entities
stored in Couchbase. |
static com.couchbase.client.java.query.dsl.Sort[] |
createSort(Sort sort,
CouchbaseConverter converter)
Create a N1QL
Sort out of a Spring Data Sort . |
static com.couchbase.client.java.query.dsl.Expression |
createWhereFilterForEntity(com.couchbase.client.java.query.dsl.Expression baseWhereCriteria,
CouchbaseConverter converter,
EntityMetadata<?> entityInformation)
Produces an
Expression that can serve as a WHERE clause criteria to only select documents in a bucket
that matches a particular Spring Data entity (as given by the EntityMetadata parameter). |
static com.couchbase.client.java.query.dsl.Expression |
escapedBucket(String bucketName)
Escape the given bucketName and produce an
Expression . |
static String |
getDottedPathWithAlternativeFieldNames(PersistentPropertyPath<CouchbasePersistentProperty> path)
Given a
PersistentPropertyPath of CouchbasePersistentProperty
(see getPathWithAlternativeFieldNames(CouchbaseConverter, PropertyPath) ),
obtain a String representation of the path, separated with dots and using alternative field names. |
static PersistentPropertyPath<CouchbasePersistentProperty> |
getPathWithAlternativeFieldNames(CouchbaseConverter converter,
PropertyPath property)
Given a common
PropertyPath , returns the corresponding PersistentPropertyPath
of CouchbasePersistentProperty which will allow to discover alternative naming for fields. |
public static final Converter<? super CouchbasePersistentProperty,String> FIELD_NAME_ESCAPED
fieldName
,
eg. when one wants a path from PersistentPropertyPath.toDotPath(Converter)
made of escaped field names.public static com.couchbase.client.java.query.dsl.Expression escapedBucket(String bucketName)
Expression
.public static com.couchbase.client.java.query.dsl.path.FromPath createSelectClauseForEntity(String bucketName, ReturnedType returnedType, CouchbaseConverter converter)
Statement
that corresponds to the SELECT clause for looking for Spring Data entities
stored in Couchbase. Notably it will select the content of the document AND its id and cas and use custom
construction of query if required.bucketName
- the bucket that stores the entity documents (will be escaped).returnedType
- Returned type projection information from result processor.converter
- couchbase converterpublic static com.couchbase.client.java.query.dsl.Expression createReturningExpressionForDelete(String bucketName)
bucketName
- the bucket that stores the entity documents (will be escaped).public static com.couchbase.client.java.query.dsl.path.FromPath createSelectClauseForEntity(String bucketName)
Statement
that corresponds to the SELECT clause for looking for Spring Data entities
stored in Couchbase. Notably it will select the content of the document AND its id and cas.bucketName
- the bucket that stores the entity documents (will be escaped).public static com.couchbase.client.java.query.dsl.path.WherePath createSelectFromForEntity(String bucketName)
Statement
that corresponds to the SELECT...FROM clauses for looking for Spring Data entities
stored in Couchbase. Notably it will select the content of the document AND its id and cas FROM the given bucket.bucketName
- the bucket that stores the entity documents (will be escaped).public static com.couchbase.client.java.query.dsl.Expression createWhereFilterForEntity(com.couchbase.client.java.query.dsl.Expression baseWhereCriteria, CouchbaseConverter converter, EntityMetadata<?> entityInformation)
Expression
that can serve as a WHERE clause criteria to only select documents in a bucket
that matches a particular Spring Data entity (as given by the EntityMetadata
parameter).baseWhereCriteria
- the other criteria of the WHERE clause, or null if none.converter
- the CouchbaseConverter
giving the attribute storing the type information can be extracted.entityInformation
- the expected type information.Expression
to be used as a WHERE clause, that additionally restricts on the given type.public static PersistentPropertyPath<CouchbasePersistentProperty> getPathWithAlternativeFieldNames(CouchbaseConverter converter, PropertyPath property)
PropertyPath
, returns the corresponding PersistentPropertyPath
of CouchbasePersistentProperty
which will allow to discover alternative naming for fields.public static String getDottedPathWithAlternativeFieldNames(PersistentPropertyPath<CouchbasePersistentProperty> path)
PersistentPropertyPath
of CouchbasePersistentProperty
(see getPathWithAlternativeFieldNames(CouchbaseConverter, PropertyPath)
),
obtain a String representation of the path, separated with dots and using alternative field names.public static com.couchbase.client.java.query.dsl.Sort[] createSort(Sort sort, CouchbaseConverter converter)
Sort
out of a Spring Data Sort
. Note that the later
must use alternative field names as declared by the Field
annotation on the entity, if any.public static <T> com.couchbase.client.java.query.Statement createCountQueryForEntity(String bucketName, CouchbaseConverter converter, CouchbaseEntityInformation<T,String> entityInformation)
bucketName
- the name of the bucket where data is stored (will be escaped).converter
- the CouchbaseConverter
giving the attribute storing the type information can be extracted.entityInformation
- the counted entity type.public static com.couchbase.client.java.query.N1qlQuery buildQuery(com.couchbase.client.java.query.Statement statement, com.couchbase.client.java.document.json.JsonValue queryPlaceholderValues, com.couchbase.client.java.query.consistency.ScanConsistency scanConsistency)
statement
- queryPlaceholderValues
- scanConsistency
- Copyright © 2011–2020 Pivotal Software, Inc.. All rights reserved.