Nuxeo Enterprise Platform 5.4

org.nuxeo.ecm.core.storage.sql.jdbc
Class NXQLQueryMaker.QueryAnalyzer

java.lang.Object
  extended by org.nuxeo.ecm.core.query.sql.model.DefaultQueryVisitor
      extended by org.nuxeo.ecm.core.storage.sql.jdbc.NXQLQueryMaker.QueryAnalyzer
All Implemented Interfaces:
Serializable, IVisitor
Enclosing class:
NXQLQueryMaker

public class NXQLQueryMaker.QueryAnalyzer
extends DefaultQueryVisitor

Collects various info about the query AST, and rewrites the toplevel AND Predicates of the WHERE clause into a single MultiExpression for easier analysis.

See Also:
Serialized Form

Field Summary
 List<String> orderKeys
           
 Set<String> props
          Single valued properties for which a join is needed.
 
Constructor Summary
NXQLQueryMaker.QueryAnalyzer(FacetFilter facetFilter)
           
 
Method Summary
 void addFacetFilterClauses(FacetFilter facetFilter)
           
 void visitFromClause(FromClause node)
          Finds all the types to take into account (all concrete types being a subtype of the passed types) based on the FROM list.
 void visitFunction(Function node)
           
 void visitOrderByClause(OrderByClause node)
           
 void visitQuery(SQLQuery node)
           
 void visitReference(Reference node)
           
 void visitSelectClause(SelectClause node)
           
 void visitWhereClause(WhereClause node)
           
 
Methods inherited from class org.nuxeo.ecm.core.query.sql.model.DefaultQueryVisitor
visitDateLiteral, visitDoubleLiteral, visitExpression, visitGroupByClause, visitHavingClause, visitIntegerLiteral, visitLiteral, visitLiteralList, visitMultiExpression, visitOperandList, visitOperator, visitOrderByExpr, visitOrderByList, visitReferenceList, visitStringLiteral
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

props

public final Set<String> props
Single valued properties for which a join is needed.


orderKeys

public final List<String> orderKeys
Constructor Detail

NXQLQueryMaker.QueryAnalyzer

public NXQLQueryMaker.QueryAnalyzer(FacetFilter facetFilter)
Method Detail

addFacetFilterClauses

public void addFacetFilterClauses(FacetFilter facetFilter)

visitQuery

public void visitQuery(SQLQuery node)
Specified by:
visitQuery in interface IVisitor
Overrides:
visitQuery in class DefaultQueryVisitor

visitSelectClause

public void visitSelectClause(SelectClause node)
Specified by:
visitSelectClause in interface IVisitor
Overrides:
visitSelectClause in class DefaultQueryVisitor

visitFromClause

public void visitFromClause(FromClause node)
Finds all the types to take into account (all concrete types being a subtype of the passed types) based on the FROM list.

Adds them as a ecm:primaryType match in the toplevel operands.

Specified by:
visitFromClause in interface IVisitor
Overrides:
visitFromClause in class DefaultQueryVisitor

visitWhereClause

public void visitWhereClause(WhereClause node)
Specified by:
visitWhereClause in interface IVisitor
Overrides:
visitWhereClause in class DefaultQueryVisitor

visitReference

public void visitReference(Reference node)
Specified by:
visitReference in interface IVisitor
Overrides:
visitReference in class DefaultQueryVisitor

visitFunction

public void visitFunction(Function node)
Specified by:
visitFunction in interface IVisitor
Overrides:
visitFunction in class DefaultQueryVisitor

visitOrderByClause

public void visitOrderByClause(OrderByClause node)
Specified by:
visitOrderByClause in interface IVisitor
Overrides:
visitOrderByClause in class DefaultQueryVisitor

Nuxeo Enterprise Platform 5.4

Copyright © 2011 Nuxeo SAS. All Rights Reserved.