Class MongoQueryBuilder
- java.lang.Object
-
- io.micronaut.data.document.model.query.builder.MongoQueryBuilder
-
- All Implemented Interfaces:
QueryBuilder
@Internal public final class MongoQueryBuilder extends java.lang.Object implements QueryBuilder
The Mongo query builder.- Since:
- 3.3
- Author:
- Denis Stepanov
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
MongoQueryBuilder.QueryState
The state of the query.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
MONGO_DATE_IDENTIFIER
static java.lang.String
MONGO_OBJECT_ID_IDENTIFIER
static java.lang.String
QUERY_PARAMETER_PLACEHOLDER
An object with this property is replaced with an actual query parameter at the runtime.-
Fields inherited from interface io.micronaut.data.model.query.builder.QueryBuilder
IN_VARIABLES_PATTERN, VARIABLE_PATTERN
-
-
Constructor Summary
Constructors Constructor Description MongoQueryBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description QueryResult
buildDelete(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryModel query)
Encode the given query into the encoded query instance.QueryResult
buildInsert(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata, PersistentEntity entity)
Builds an insert statement for the given entity.QueryResult
buildOrderBy(PersistentEntity entity, Sort sort)
Encode the given query into the encoded query instance.QueryResult
buildPagination(Pageable pageable)
Encode the pageable.QueryResult
buildQuery(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryModel query)
Encode the given query for the passed annotation metadata and query.QueryResult
buildUpdate(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryModel query, java.util.List<java.lang.String> propertiesToUpdate)
Encode the given query into the encoded query instance.QueryResult
buildUpdate(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryModel query, java.util.Map<java.lang.String,java.lang.Object> propertiesToUpdate)
Encode the given query into the encoded query instance.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.micronaut.data.model.query.builder.QueryBuilder
buildDelete, buildQuery, buildUpdate, buildUpdate, shouldAliasProjections, supportsForUpdate
-
-
-
-
Field Detail
-
QUERY_PARAMETER_PLACEHOLDER
public static final java.lang.String QUERY_PARAMETER_PLACEHOLDER
An object with this property is replaced with an actual query parameter at the runtime.- See Also:
- Constant Field Values
-
MONGO_DATE_IDENTIFIER
public static final java.lang.String MONGO_DATE_IDENTIFIER
- See Also:
- Constant Field Values
-
MONGO_OBJECT_ID_IDENTIFIER
public static final java.lang.String MONGO_OBJECT_ID_IDENTIFIER
- See Also:
- Constant Field Values
-
-
Method Detail
-
buildInsert
public QueryResult buildInsert(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata, PersistentEntity entity)
Description copied from interface:QueryBuilder
Builds an insert statement for the given entity.- Specified by:
buildInsert
in interfaceQueryBuilder
- Parameters:
repositoryMetadata
- The repository annotation metadataentity
- The entity- Returns:
- The insert statement or null if the implementation doesn't require insert statements
-
buildQuery
public QueryResult buildQuery(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryModel query)
Description copied from interface:QueryBuilder
Encode the given query for the passed annotation metadata and query.- Specified by:
buildQuery
in interfaceQueryBuilder
- Parameters:
annotationMetadata
- The annotation metadataquery
- The query model- Returns:
- The query result
-
buildUpdate
public QueryResult buildUpdate(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryModel query, java.util.List<java.lang.String> propertiesToUpdate)
Description copied from interface:QueryBuilder
Encode the given query into the encoded query instance.- Specified by:
buildUpdate
in interfaceQueryBuilder
- Parameters:
annotationMetadata
- The annotation metadataquery
- The querypropertiesToUpdate
- The property names to update- Returns:
- The encoded query
-
buildUpdate
public QueryResult buildUpdate(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryModel query, java.util.Map<java.lang.String,java.lang.Object> propertiesToUpdate)
Description copied from interface:QueryBuilder
Encode the given query into the encoded query instance.- Specified by:
buildUpdate
in interfaceQueryBuilder
- Parameters:
annotationMetadata
- The annotation metadataquery
- The querypropertiesToUpdate
- The property names to update- Returns:
- The encoded query
-
buildDelete
public QueryResult buildDelete(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryModel query)
Description copied from interface:QueryBuilder
Encode the given query into the encoded query instance.- Specified by:
buildDelete
in interfaceQueryBuilder
- Parameters:
annotationMetadata
- The annotation metadataquery
- The query- Returns:
- The encoded query
-
buildOrderBy
public QueryResult buildOrderBy(PersistentEntity entity, Sort sort)
Description copied from interface:QueryBuilder
Encode the given query into the encoded query instance.- Specified by:
buildOrderBy
in interfaceQueryBuilder
- Parameters:
entity
- The root entitysort
- The sort- Returns:
- The encoded query
-
buildPagination
public QueryResult buildPagination(Pageable pageable)
Description copied from interface:QueryBuilder
Encode the pageable.- Specified by:
buildPagination
in interfaceQueryBuilder
- Parameters:
pageable
- The pageable- Returns:
- The encoded query
-
-