Interface PagingQueryProvider

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethodDescription
      java.lang.StringgenerateFirstPageQuery​(int pageSize)
      Generate the query that will provide the first page, limited by the page size.
      java.lang.StringgenerateJumpToItemQuery​(int itemIndex, int pageSize)
      Generate the query that will provide the jump to item query.
      java.lang.StringgenerateRemainingPagesQuery​(int pageSize)
      Generate the query that will provide the first page, limited by the page size.
      intgetParameterCount()
      The number of parameters that are declared in the query
      java.lang.StringgetSortKeyPlaceHolder​(java.lang.String keyName)
      Returns either a String to be used as the named placeholder for a sort key value (based on the column name) or a ? for unnamed parameters.
      java.util.Map<java.lang.String,​Order>getSortKeys()
      The sort keys.
      java.util.Map<java.lang.String,​Order>getSortKeysWithoutAliases()
      The sort key (unique single column name) without alias.
      voidinit​(javax.sql.DataSource dataSource)
      Initialize the query provider using the provided DataSource if necessary.
      booleanisUsingNamedParameters()
      Indicate whether the generated queries use named parameter syntax.
    • Method Detail

      • init

        void init​(javax.sql.DataSource dataSource)
           throws java.lang.Exception
        Initialize the query provider using the provided DataSource if necessary.
        Parameters:
        dataSource - DataSource to use for any initialization
        Throws:
        java.lang.Exception - for errors when initializing
      • generateFirstPageQuery

        java.lang.String generateFirstPageQuery​(int pageSize)
        Generate the query that will provide the first page, limited by the page size.
        Parameters:
        pageSize - number of rows to read for each page
        Returns:
        the generated query
      • generateRemainingPagesQuery

        java.lang.String generateRemainingPagesQuery​(int pageSize)
        Generate the query that will provide the first page, limited by the page size.
        Parameters:
        pageSize - number of rows to read for each page
        Returns:
        the generated query
      • generateJumpToItemQuery

        java.lang.String generateJumpToItemQuery​(int itemIndex,
                                                 int pageSize)
        Generate the query that will provide the jump to item query. The itemIndex provided could be in the middle of the page and together with the page size it will be used to calculate the last index of the preceding page to be able to retrieve the sort key for this row.
        Parameters:
        itemIndex - the index for the next item to be read
        pageSize - number of rows to read for each page
        Returns:
        the generated query
      • getParameterCount

        int getParameterCount()
        The number of parameters that are declared in the query
        Returns:
        number of parameters
      • isUsingNamedParameters

        boolean isUsingNamedParameters()
        Indicate whether the generated queries use named parameter syntax.
        Returns:
        true if named parameter syntax is used
      • getSortKeys

        java.util.Map<java.lang.String,​Order> getSortKeys()
        The sort keys. A Map of the columns that make up the key and a Boolean indicating ascending or descending (ascending = true).
        Returns:
        the sort keys used to order the query
      • getSortKeyPlaceHolder

        java.lang.String getSortKeyPlaceHolder​(java.lang.String keyName)
        Returns either a String to be used as the named placeholder for a sort key value (based on the column name) or a ? for unnamed parameters.
        Parameters:
        keyName - The sort key name
        Returns:
        The string to be used for a parameterized query.
      • getSortKeysWithoutAliases

        java.util.Map<java.lang.String,​Order> getSortKeysWithoutAliases()
        The sort key (unique single column name) without alias.
        Returns:
        the sort key used to order the query (without alias)