Class QualifierTranslator

    • Field Detail

      • matchingObject

        protected boolean matchingObject
      • caseInsensitive

        protected boolean caseInsensitive
      • useAliasForExpressions

        protected boolean useAliasForExpressions
        Since:
        4.0
      • waitingForEndNode

        protected Expression waitingForEndNode
        Since:
        4.0
      • qualifier

        protected Expression qualifier
        Since:
        4.0
    • Constructor Detail

      • QualifierTranslator

        public QualifierTranslator​(QueryAssembler queryAssembler)
    • Method Detail

      • doAppendPart

        protected void doAppendPart()
        Translates query qualifier to SQL WHERE clause. Qualifier is obtained from the parent queryAssembler.
        Specified by:
        doAppendPart in class QueryAssemblerHelper
        Since:
        3.0
      • setCaseInsensitive

        public void setCaseInsensitive​(boolean caseInsensitive)
      • setQualifier

        public void setQualifier​(Expression qualifier)
        Explicitly set qualifier. It will be used instead of extracting qualifier from the query itself.
        Since:
        4.0
      • setUseAliasForExpressions

        public void setUseAliasForExpressions​(boolean useAliasForExpressions)
        Since:
        4.0
      • doAppendPart

        protected void doAppendPart​(Expression rootNode)
        Translates query qualifier to SQL WHERE clause. Qualifier is a method parameter.
        Since:
        3.0
      • extractQualifier

        protected Expression extractQualifier()
      • detectObjectMatch

        protected void detectObjectMatch​(Expression exp)
        Called before processing an expression to initialize objectMatchTranslator if needed.
      • finishedChild

        public void finishedChild​(Expression node,
                                  int childIndex,
                                  boolean hasMoreChildren)
        Description copied from interface: TraversalHandler
        Called during traversal after a child of expression has been visited.
        Specified by:
        finishedChild in interface TraversalHandler
      • operandForBitwiseNot

        protected String operandForBitwiseNot()
        Since:
        3.1
      • operandForBitwiseOr

        protected String operandForBitwiseOr()
        Since:
        3.1
      • operandForBitwiseAnd

        protected String operandForBitwiseAnd()
        Since:
        3.1
      • operandForBitwiseXor

        protected String operandForBitwiseXor()
        Since:
        3.1
      • operandForBitwiseLeftShift

        protected String operandForBitwiseLeftShift()
        Since:
        4.0
      • operandForBitwiseRightShift

        protected String operandForBitwiseRightShift()
        Since:
        4.0
      • parenthesisNeeded

        protected boolean parenthesisNeeded​(Expression node,
                                            Expression parentNode)
      • appendLiteral

        protected void appendLiteral​(Object val,
                                     DbAttribute attr,
                                     Expression parentExpression)
                              throws IOException
        Description copied from class: QueryAssemblerHelper
        Appends SQL code to the query buffer to handle val as a parameter to the PreparedStatement being built. Adds val into QueryAssembler parameter list.

        If val is null, "NULL" is appended to the query.

        If val is a DataObject, its primary key value is used as a parameter. Only objects with a single column primary key can be used.

        Overrides:
        appendLiteral in class QueryAssemblerHelper
        Parameters:
        val - object that should be appended as a literal to the query. Must be of one of "standard JDBC" types, null or a DataObject.
        attr - DbAttribute that has information on what type of parameter is being appended.
        Throws:
        IOException
      • processRelTermination

        protected void processRelTermination​(DbRelationship rel,
                                             JoinType joinType,
                                             String joinSplitAlias)
        Description copied from class: QueryAssemblerHelper
        Handles case when a DB_NAME expression ends with relationship. If this is a "to many" relationship, a join is added and a column expression for the target entity primary key. If this is a "to one" relationship, column expression for the source foreign key is added.
        Overrides:
        processRelTermination in class QueryAssemblerHelper
      • appendFunction

        protected void appendFunction​(ASTFunctionCall functionExpression)
        Append function name to result SQL Override this method to rename or skip function if generic name isn't supported on target DB.
        Since:
        4.0
      • appendExtractFunction

        protected void appendExtractFunction​(ASTExtract functionExpression)
        Special case for extract date/time parts functions as they have many variants
        Since:
        4.0
      • appendFunctionArg

        protected void appendFunctionArg​(Object value,
                                         ASTFunctionCall functionExpression)
                                  throws IOException
        Append scalar argument of a function call Used only for values stored in ASTScalar other expressions appended in objectNode() method
        Throws:
        IOException
        Since:
        4.0
      • appendFunctionArgDivider

        protected void appendFunctionArgDivider​(ASTFunctionCall functionExpression)
        Append divider between function arguments. In overriding methods can be replaced e.g. for " || " for CONCAT operation
        Since:
        4.0
      • clearLastFunctionArgDivider

        protected void clearLastFunctionArgDivider​(ASTFunctionCall functionExpression)
        Clear last divider as we currently don't now position of argument until parent element is ended.
        Since:
        4.0