Class QueryToMongoDBMapper

  • All Implemented Interfaces:
    org.datanucleus.store.query.expression.ExpressionEvaluator

    public class QueryToMongoDBMapper
    extends org.datanucleus.store.query.expression.AbstractExpressionEvaluator
    Class which maps a compiled (generic) query to an MongoDB query.
    • 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()
      • 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:
        processAndExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processOrExpression

        protected Object processOrExpression​(org.datanucleus.store.query.expression.Expression expr)
        Overrides:
        processOrExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processEqExpression

        protected Object processEqExpression​(org.datanucleus.store.query.expression.Expression expr)
        Overrides:
        processEqExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processNoteqExpression

        protected Object processNoteqExpression​(org.datanucleus.store.query.expression.Expression expr)
        Overrides:
        processNoteqExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processGtExpression

        protected Object processGtExpression​(org.datanucleus.store.query.expression.Expression expr)
        Overrides:
        processGtExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processLtExpression

        protected Object processLtExpression​(org.datanucleus.store.query.expression.Expression expr)
        Overrides:
        processLtExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processGteqExpression

        protected Object processGteqExpression​(org.datanucleus.store.query.expression.Expression expr)
        Overrides:
        processGteqExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processLteqExpression

        protected Object processLteqExpression​(org.datanucleus.store.query.expression.Expression expr)
        Overrides:
        processLteqExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processInExpression

        protected Object processInExpression​(org.datanucleus.store.query.expression.Expression expr)
        Overrides:
        processInExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processNotInExpression

        protected Object processNotInExpression​(org.datanucleus.store.query.expression.Expression expr)
        Overrides:
        processNotInExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processPrimaryExpression

        protected Object processPrimaryExpression​(org.datanucleus.store.query.expression.PrimaryExpression expr)
        Overrides:
        processPrimaryExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processParameterExpression

        protected Object processParameterExpression​(org.datanucleus.store.query.expression.ParameterExpression expr)
        Overrides:
        processParameterExpression in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • processLiteral

        protected Object processLiteral​(org.datanucleus.store.query.expression.Literal expr)
        Overrides:
        processLiteral in class org.datanucleus.store.query.expression.AbstractExpressionEvaluator
      • getMongoLiteralForValue

        protected MongoLiteral getMongoLiteralForValue​(Object value)
      • processInvokeExpression

        protected Object processInvokeExpression​(org.datanucleus.store.query.expression.InvokeExpression expr)
        Overrides:
        processInvokeExpression in class org.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)