Class QueryToMongoDBMapper
- java.lang.Object
-
- org.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
- org.datanucleus.store.mongodb.query.QueryToMongoDBMapper
-
- All Implemented Interfaces:
org.datanucleus.store.query.expression.ExpressionEvaluator
public class QueryToMongoDBMapper extends org.datanucleus.store.query.expression.AbstractExpressionEvaluatorClass which maps a compiled (generic) query to an MongoDB query.
-
-
Constructor Summary
Constructors Constructor Description QueryToMongoDBMapper(org.datanucleus.store.query.compiler.QueryCompilation compilation, Map parameters, org.datanucleus.metadata.AbstractClassMetaData cmd, org.datanucleus.ExecutionContext ec, org.datanucleus.store.query.Query q)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcompile()protected voidcompileFilter()Method to compile the WHERE clause of the queryprotected voidcompileOrdering()Method to compile the ordering clause of the queryprotected voidcompileResult()Method to compile the result clause of the queryprotected MongoFieldExpressiongetFieldNameForPrimary(org.datanucleus.store.query.expression.PrimaryExpression expr)Convenience method to return the "field name" in candidate document for this primary.MongoBooleanExpressiongetFilterExpression()protected MongoLiteralgetMongoLiteralForValue(Object value)com.mongodb.BasicDBObjectgetOrderingObject()MongoDBResultgetResultObject()booleanisFilterComplete()booleanisOrderComplete()booleanisPrecompilable()booleanisResultComplete()protected ObjectprocessAndExpression(org.datanucleus.store.query.expression.Expression expr)protected ObjectprocessEqExpression(org.datanucleus.store.query.expression.Expression expr)protected ObjectprocessGteqExpression(org.datanucleus.store.query.expression.Expression expr)protected ObjectprocessGtExpression(org.datanucleus.store.query.expression.Expression expr)protected ObjectprocessInExpression(org.datanucleus.store.query.expression.Expression expr)protected ObjectprocessInvokeExpression(org.datanucleus.store.query.expression.InvokeExpression expr)protected ObjectprocessLiteral(org.datanucleus.store.query.expression.Literal expr)protected ObjectprocessLteqExpression(org.datanucleus.store.query.expression.Expression expr)protected ObjectprocessLtExpression(org.datanucleus.store.query.expression.Expression expr)protected ObjectprocessNoteqExpression(org.datanucleus.store.query.expression.Expression expr)protected ObjectprocessNotInExpression(org.datanucleus.store.query.expression.Expression expr)protected ObjectprocessOrExpression(org.datanucleus.store.query.expression.Expression expr)protected ObjectprocessParameterExpression(org.datanucleus.store.query.expression.ParameterExpression expr)protected ObjectprocessPrimaryExpression(org.datanucleus.store.query.expression.PrimaryExpression expr)-
Methods inherited from class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
compileAdditiveMultiplicativeExpression, compileOrAndExpression, compilePrimaryExpression, compileRelationalExpression, compileUnaryExpression, evaluate, processAddExpression, processBitAndExpression, processBitOrExpression, processBitXorExpression, processCaseExpression, processCastExpression, processComExpression, processCreatorExpression, processDistinctExpression, processDivExpression, processIsExpression, processIsnotExpression, processLikeExpression, processModExpression, processMulExpression, processNegExpression, processNotExpression, processSubExpression, processSubqueryExpression, processVariableExpression
-
-
-
-
Constructor Detail
-
QueryToMongoDBMapper
public QueryToMongoDBMapper(org.datanucleus.store.query.compiler.QueryCompilation compilation, Map parameters, org.datanucleus.metadata.AbstractClassMetaData cmd, org.datanucleus.ExecutionContext ec, org.datanucleus.store.query.Query q)
-
-
Method Detail
-
isFilterComplete
public boolean isFilterComplete()
-
isOrderComplete
public boolean isOrderComplete()
-
isResultComplete
public boolean isResultComplete()
-
isPrecompilable
public boolean isPrecompilable()
-
getFilterExpression
public MongoBooleanExpression getFilterExpression()
-
getResultObject
public MongoDBResult getResultObject()
-
getOrderingObject
public com.mongodb.BasicDBObject getOrderingObject()
-
compile
public void compile()
-
compileFilter
protected void compileFilter()
Method to compile the WHERE clause of the query
-
compileResult
protected void compileResult()
Method to compile the result clause of the query
-
compileOrdering
protected void compileOrdering()
Method to compile the ordering clause of the query
-
processAndExpression
protected Object processAndExpression(org.datanucleus.store.query.expression.Expression expr)
- Overrides:
processAndExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processOrExpression
protected Object processOrExpression(org.datanucleus.store.query.expression.Expression expr)
- Overrides:
processOrExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processEqExpression
protected Object processEqExpression(org.datanucleus.store.query.expression.Expression expr)
- Overrides:
processEqExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processNoteqExpression
protected Object processNoteqExpression(org.datanucleus.store.query.expression.Expression expr)
- Overrides:
processNoteqExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processGtExpression
protected Object processGtExpression(org.datanucleus.store.query.expression.Expression expr)
- Overrides:
processGtExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processLtExpression
protected Object processLtExpression(org.datanucleus.store.query.expression.Expression expr)
- Overrides:
processLtExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processGteqExpression
protected Object processGteqExpression(org.datanucleus.store.query.expression.Expression expr)
- Overrides:
processGteqExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processLteqExpression
protected Object processLteqExpression(org.datanucleus.store.query.expression.Expression expr)
- Overrides:
processLteqExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processInExpression
protected Object processInExpression(org.datanucleus.store.query.expression.Expression expr)
- Overrides:
processInExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processNotInExpression
protected Object processNotInExpression(org.datanucleus.store.query.expression.Expression expr)
- Overrides:
processNotInExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processPrimaryExpression
protected Object processPrimaryExpression(org.datanucleus.store.query.expression.PrimaryExpression expr)
- Overrides:
processPrimaryExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processParameterExpression
protected Object processParameterExpression(org.datanucleus.store.query.expression.ParameterExpression expr)
- Overrides:
processParameterExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
processLiteral
protected Object processLiteral(org.datanucleus.store.query.expression.Literal expr)
- Overrides:
processLiteralin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
getMongoLiteralForValue
protected MongoLiteral getMongoLiteralForValue(Object value)
-
processInvokeExpression
protected Object processInvokeExpression(org.datanucleus.store.query.expression.InvokeExpression expr)
- Overrides:
processInvokeExpressionin classorg.datanucleus.store.query.expression.AbstractExpressionEvaluator
-
getFieldNameForPrimary
protected MongoFieldExpression getFieldNameForPrimary(org.datanucleus.store.query.expression.PrimaryExpression expr)
Convenience method to return the "field name" in candidate document for this primary. Allows for simple relation fields, and (nested) embedded PC fields - i.e all fields that are present in the document.- Parameters:
expr- The expression- Returns:
- The document field name for this primary (or null if not resolvable in this document)
-
-