Interface StatementRenderer<T>

  • All Known Implementing Classes:
    StringStatementRenderer

    public interface StatementRenderer<T>
    Defines the contract for rendering statements. Can be used to address small differences in database syntax and some simple optimizations/query rewrites if necessary
    • Method Detail

      • select

        T select​(boolean distinct,
                 SelectList selectList,
                 FromClause fromClause,
                 WhereClause whereClause,
                 GroupByClause groupByClause,
                 HavingClause havingClause,
                 OrderByClause orderByClause,
                 PaginationClause paginationClause)
        Render the select statement using each of the components, some of which may be optional (null)
        Parameters:
        distinct -
        selectList -
        fromClause -
        whereClause -
        groupByClause -
        havingClause -
        orderByClause -
        paginationClause -
        Returns:
      • from

        T from​(List<FromItem> items)
        Parameters:
        items -
        Returns:
      • fromItem

        T fromItem​(FromItem item)
        Render the given item
        Parameters:
        item -
        Returns:
      • rowSource

        T rowSource​(T sub)
        Parameters:
        sub -
        Returns:
      • fromItem

        T fromItem​(T subValue,
                   T aliasValue)
        Parameters:
        subValue -
        aliasValue -
        Returns:
      • alias

        T alias​(String alias)
        Parameters:
        alias -
        Returns:
      • rowSource

        T rowSource​(String schemaName,
                    String tableName)
        Parameters:
        schemaName -
        tableName -
        Returns:
      • render

        T render​(ExpNode joinOnPredicate)
        Parameters:
        joinOnPredicate -
        Returns:
      • innerJoin

        T innerJoin​(T joinFromValue,
                    T joinOnValue)
        Parameters:
        joinFromValue -
        joinOnValue -
        Returns:
      • leftOuterJoin

        T leftOuterJoin​(T joinFromValue,
                        T joinOnValue)
        Parameters:
        joinFromValue -
        joinOnValue -
        Returns:
      • fullOuterJoin

        T fullOuterJoin​(T joinFromValue,
                        T joinOnValue)
        Parameters:
        joinFromValue -
        joinOnValue -
        Returns: