Interface ExpNodeVisitor<T>

  • All Known Implementing Classes:
    ColumnExpNodeVisitor, DebugExpNodeVisitor, StringExpNodeVisitor

    public interface ExpNodeVisitor<T>
    A visitor for processing expression trees (SQL predicate statements). This is used mainly to write a valid SQL statement which is handed to a database to process...we're not in the business of trying to evaluate the actual expressions here.
    • Method Detail

      • paren

        T paren​(T expr)
      • and

        T and​(T left,
              T right)
      • or

        T or​(T left,
             T right)
      • not

        T not​(T exp)
      • exists

        T exists​(T statement)
      • notExists

        T notExists​(T statement)
      • eq

        T eq​(T left,
             T right)
      • neq

        T neq​(T left,
              T right)
      • gt

        T gt​(T left,
             T right)
      • gte

        T gte​(T left,
              T right)
      • lt

        T lt​(T left,
             T right)
      • lte

        T lte​(T left,
              T right)
      • literal

        T literal​(java.lang.String value)
      • literal

        T literal​(java.lang.Long value)
      • literal

        T literal​(java.lang.Double value)
      • column

        T column​(java.lang.String tableAlias,
                 java.lang.String columnName)
      • add

        T add​(T left,
              T right)
      • subtract

        T subtract​(T left,
                   T right)
      • multiply

        T multiply​(T left,
                   T right)
      • divide

        T divide​(T left,
                 T right)
      • isNull

        T isNull​(T expr)
      • isNotNull

        T isNotNull​(T expr)
      • between

        T between​(T leftValue,
                  T rightValue)
      • in

        T in​(T leftValue,
             java.util.List<T> args)
      • like

        T like​(T left,
               T right)
      • escape

        T escape​(T left,
                 T right)
      • bindMarker

        T bindMarker​(java.lang.Double value)
      • bindMarker

        T bindMarker​(java.lang.Long value)
      • bindMarker

        T bindMarker​(java.lang.Integer value)
      • bindMarker

        T bindMarker​(java.lang.String value)
      • bindMarker

        T bindMarker​(java.time.Instant value)
      • bindMarker

        T bindMarker​(java.math.BigDecimal value)
      • select

        T select​(Select select)
        Process a sub-select statement
        Parameters:
        select -
        Returns:
      • coalesce

        T coalesce​(java.util.List<ColumnRef> columnRefs)
        Render a COALESCE(...) function
        Parameters:
        columnRefs -
        Returns:
      • cos

        T cos​(T arg)
        SQL COS function
        Parameters:
        arg -
        Returns:
      • acos

        T acos​(T arg)
        SQL ACOS function
        Parameters:
        arg -
        Returns:
      • sin

        T sin​(T arg)
        SQL SIN function
        Parameters:
        arg -
        Returns:
      • radians

        T radians​(T arg)
        SQL RADIANS function
        Parameters:
        arg -
        Returns: