Class MongoDBAbstractQueryBuilder
java.lang.Object
org.nuxeo.ecm.core.storage.mongodb.MongoDBAbstractQueryBuilder
- Direct Known Subclasses:
MongoDBRepositoryQueryBuilder,MongoDBSession.MongoDBDirectoryQueryBuilder
Abstract query builder for a MongoDB query from an
Expression.
Must be customized by defining an implementation for the walkReference(String) method.
- Since:
- 5.9.4
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final MongoDBConverterprotected static final Stringprotected StringPrefix to remove for $elemMatch (including final dot), ornullif there's no current prefix to remove.protected final Expressionprotected static final Stringprotected booleanstatic final Longstatic final Longstatic final Doublestatic final Doubleprotected org.bson.Documentprotected static final Pattern -
Constructor Summary
ConstructorsConstructorDescriptionMongoDBAbstractQueryBuilder(MongoDBConverter converter, Expression expression) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckDateLiteralForCast(Operand value, String name) protected voidcheckDateLiteralForCast(Operator op, Operand value, String name) protected StringgetMongoDBPrefix(String prefix) Computes the MongoDB prefix from the DBS common prefix.org.bson.DocumentgetQuery()protected org.bson.DocumentnewDocumentWithField(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, Object value) protected ObjectpushDownNot(Object object) protected StringstripElemMatchPrefix(String field) voidwalk()org.bson.DocumentwalkAndOr(Expression expr) protected org.bson.DocumentwalkAndOr(Expression expr, List<? extends Operand> values) org.bson.Documentorg.bson.DocumentwalkBetween(Operand lvalue, Operand rvalue, boolean positive) walkBooleanLiteral(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, BooleanLiteral lit) walkDateLiteral(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, DateLiteral lit) walkDoubleLiteral(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, DoubleLiteral lit) org.bson.Documentorg.bson.DocumentwalkEq(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, Operand rvalue) org.bson.DocumentwalkExpression(Expression expr) walkFunction(Function func) org.bson.Documentorg.bson.Documentorg.bson.Documentorg.bson.DocumentwalkIn(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, Operand rvalue, boolean positive) walkIntegerLiteral(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, IntegerLiteral lit) org.bson.DocumentwalkIsNotNull(Operand value) org.bson.DocumentwalkIsNull(Operand value) org.bson.DocumentwalkLiteral(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, Literal lit) walkLiteralList(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, LiteralList litList) org.bson.Documentorg.bson.Documentorg.bson.Documentorg.bson.Documentorg.bson.DocumentwalkNotEq(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, Operand rvalue) walkOperand(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, Operand op) walkOperandList(List<? extends Operand> values) protected abstract MongoDBAbstractQueryBuilder.FieldInfowalkReference(String name) Walks a reference, and returns field info about it.protected MongoDBAbstractQueryBuilder.FieldInfowalkReference(Operand value) walkReference(Reference ref) Returns the MongoDB field for this reference.walkStringLiteral(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, StringLiteral lit)
-
Field Details
-
LONG_ZERO
-
LONG_ONE
-
ONE
-
MINUS_ONE
-
DATE_CAST
- See Also:
-
LIKE_ANCHORED_PROP
- See Also:
-
converter
-
expression
-
query
protected org.bson.Document query -
elemMatchPrefix
Prefix to remove for $elemMatch (including final dot), ornullif there's no current prefix to remove. -
likeAnchored
protected boolean likeAnchored -
SLASH_WILDCARD_SLASH
-
-
Constructor Details
-
MongoDBAbstractQueryBuilder
-
-
Method Details
-
walk
public void walk() -
getQuery
public org.bson.Document getQuery() -
walkExpression
-
checkDateLiteralForCast
-
checkDateLiteralForCast
-
walkNot
-
pushDownNot
-
newDocumentWithField
protected org.bson.Document newDocumentWithField(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, Object value) -
walkIsNull
-
walkIsNotNull
-
walkAndOrMultiExpression
-
walkAndOr
-
walkAndOr
-
getMongoDBPrefix
Computes the MongoDB prefix from the DBS common prefix.foo/bar/*1 -> foo.bar. ecm:acp/*1/acl/*1 -> ecm:acp.acl. -
stripElemMatchPrefix
-
walkEq
-
walkEq
-
walkNotEq
-
walkNotEq
-
walkLt
-
walkGt
-
walkLtEq
-
walkGtEq
-
walkBetween
-
walkIn
-
walkIn
public org.bson.Document walkIn(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, Operand rvalue, boolean positive) -
walkLike
-
walkOperand
-
walkLiteral
-
walkBooleanLiteral
public Object walkBooleanLiteral(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, BooleanLiteral lit) -
walkDateLiteral
-
walkDoubleLiteral
-
walkIntegerLiteral
public Object walkIntegerLiteral(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, IntegerLiteral lit) -
walkStringLiteral
-
walkLiteralList
public List<Object> walkLiteralList(MongoDBAbstractQueryBuilder.FieldInfo fieldInfo, LiteralList litList) -
walkOperandList
-
walkFunction
-
walkReference
-
walkReference
Returns the MongoDB field for this reference. -
walkReference
Walks a reference, and returns field info about it.
-