Class TypePredicate

  • All Implemented Interfaces:
    HasSQL, Typed

    public final class TypePredicate
    extends SimplePredicate
    Type predicate (IS [NOT] OF).
    • Field Detail

      • typeList

        private final TypeInfo[] typeList
      • valueTypes

        private int[] valueTypes
    • Constructor Detail

      • TypePredicate

        public TypePredicate​(Expression left,
                             boolean not,
                             boolean whenOperand,
                             TypeInfo[] typeList)
    • Method Detail

      • getUnenclosedSQL

        public java.lang.StringBuilder getUnenclosedSQL​(java.lang.StringBuilder builder,
                                                        int sqlFlags)
        Description copied from class: Expression
        Get the SQL statement of this expression. This may not always be the original SQL statement, especially after optimization. Enclosing '(' and ')' are never appended.
        Specified by:
        getUnenclosedSQL in class Expression
        Parameters:
        builder - string builder
        sqlFlags - formatting flags
        Returns:
        the specified string builder
      • getWhenSQL

        public java.lang.StringBuilder getWhenSQL​(java.lang.StringBuilder builder,
                                                  int sqlFlags)
        Description copied from class: Expression
        Appends the SQL statement of this when operand to the specified builder.
        Overrides:
        getWhenSQL in class Expression
        Parameters:
        builder - string builder
        sqlFlags - formatting flags
        Returns:
        the specified string builder
      • getValue

        public Value getValue​(SessionLocal session)
        Description copied from class: Expression
        Return the resulting value for the current row.
        Specified by:
        getValue in class Expression
        Parameters:
        session - the session
        Returns:
        the result
      • getWhenValue

        public boolean getWhenValue​(SessionLocal session,
                                    Value left)
        Description copied from class: Expression
        Return the resulting value of when operand for the current row.
        Overrides:
        getWhenValue in class Expression
        Parameters:
        session - the session
        left - value on the left side
        Returns:
        the result
      • getNotIfPossible

        public Expression getNotIfPossible​(SessionLocal session)
        Description copied from class: Expression
        If it is possible, return the negated expression. This is used to optimize NOT expressions: NOT ID>10 can be converted to ID<=10. Returns null if negating is not possible.
        Overrides:
        getNotIfPossible in class Expression
        Parameters:
        session - the session
        Returns:
        the negated expression, or null