Package org.nuxeo.ecm.directory.sql
Class SQLQueryBuilder
- java.lang.Object
-
- org.nuxeo.ecm.core.query.sql.model.DefaultQueryVisitor
-
- org.nuxeo.ecm.directory.sql.SQLQueryBuilder
-
- All Implemented Interfaces:
IVisitor
public class SQLQueryBuilder extends DefaultQueryVisitor
Builds the database-level WHERE query from the AST, and collects parameters associated to free variables along with the database column to which they correspond.- Since:
- 10.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSQLQueryBuilder.ColumnAndValue
-
Field Summary
Fields Modifier and Type Field Description StringBuilderclauseprotected SQLDirectorydirectoryList<SQLQueryBuilder.ColumnAndValue>paramsprotected ColumnvisitedColumn
-
Constructor Summary
Constructors Constructor Description SQLQueryBuilder(SQLDirectory directory)
-
Method Summary
-
Methods inherited from class org.nuxeo.ecm.core.query.sql.model.DefaultQueryVisitor
visitFromClause, visitGroupByClause, visitHavingClause, visitLiteral, visitOperandList, visitOrderByClause, visitOrderByExpr, visitOrderByList, visitQuery, visitReferenceList, visitSelectClause, visitWhereClause
-
-
-
-
Field Detail
-
directory
protected final SQLDirectory directory
-
clause
public final StringBuilder clause
-
params
public final List<SQLQueryBuilder.ColumnAndValue> params
-
visitedColumn
protected Column visitedColumn
-
-
Constructor Detail
-
SQLQueryBuilder
public SQLQueryBuilder(SQLDirectory directory)
-
-
Method Detail
-
visitMultiExpression
public void visitMultiExpression(MultiExpression node)
- Specified by:
visitMultiExpressionin interfaceIVisitor- Overrides:
visitMultiExpressionin classDefaultQueryVisitor
-
visitExpression
public void visitExpression(Expression node)
- Specified by:
visitExpressionin interfaceIVisitor- Overrides:
visitExpressionin classDefaultQueryVisitor
-
visitExpressionBetween
protected void visitExpressionBetween(Column column, Operator op, LiteralList list)
-
visitExpressionILike
protected void visitExpressionILike(Column column, Operator op, Operand rvalue)
-
addLikeEscaping
protected void addLikeEscaping()
-
visitOperator
public void visitOperator(Operator node)
- Specified by:
visitOperatorin interfaceIVisitor- Overrides:
visitOperatorin classDefaultQueryVisitor
-
visitReference
public void visitReference(Reference node)
- Specified by:
visitReferencein interfaceIVisitor- Overrides:
visitReferencein classDefaultQueryVisitor
-
visitColumn
protected void visitColumn(Column column)
-
visitLiteralList
public void visitLiteralList(LiteralList node)
- Specified by:
visitLiteralListin interfaceIVisitor- Overrides:
visitLiteralListin classDefaultQueryVisitor
-
visitDateLiteral
public void visitDateLiteral(DateLiteral node)
- Specified by:
visitDateLiteralin interfaceIVisitor- Overrides:
visitDateLiteralin classDefaultQueryVisitor
-
visitStringLiteral
public void visitStringLiteral(StringLiteral node)
- Specified by:
visitStringLiteralin interfaceIVisitor- Overrides:
visitStringLiteralin classDefaultQueryVisitor
-
visitDoubleLiteral
public void visitDoubleLiteral(DoubleLiteral node)
- Specified by:
visitDoubleLiteralin interfaceIVisitor- Overrides:
visitDoubleLiteralin classDefaultQueryVisitor
-
visitIntegerLiteral
public void visitIntegerLiteral(IntegerLiteral node)
- Specified by:
visitIntegerLiteralin interfaceIVisitor- Overrides:
visitIntegerLiteralin classDefaultQueryVisitor
-
visitBooleanLiteral
public void visitBooleanLiteral(BooleanLiteral node)
- Specified by:
visitBooleanLiteralin interfaceIVisitor- Overrides:
visitBooleanLiteralin classDefaultQueryVisitor
-
visitFunction
public void visitFunction(Function node)
- Specified by:
visitFunctionin interfaceIVisitor- Overrides:
visitFunctionin classDefaultQueryVisitor
-
-