com.vaadin.data.util.sqlcontainer.query.generator.

Class DefaultSQLGenerator

  • java.lang.Object
    • com.vaadin.data.util.sqlcontainer.query.generator.DefaultSQLGenerator
    • Constructor Detail

      • DefaultSQLGenerator

        public DefaultSQLGenerator()
      • DefaultSQLGenerator

        public DefaultSQLGenerator​(Class<? extends StatementHelper> statementHelperClazz)

        Create a new DefaultSqlGenerator instance that uses the given implementation of StatementHelper

        Parameters:

        statementHelper -

      • DefaultSQLGenerator

        public DefaultSQLGenerator​(String quoteStart,
                                   String quoteEnd)

        Construct a DefaultSQLGenerator with the specified identifiers for start and end of quoted strings. The identifiers may be different depending on the database engine and it's settings.

        Parameters:

        quoteStart - the identifier (character) denoting the start of a quoted string

        quoteEnd - the identifier (character) denoting the end of a quoted string

    • Method Detail

      • generateSelectQuery

        public StatementHelper generateSelectQuery​(String tableName,
                                                   List<Container.Filter> filters,
                                                   List<OrderBy> orderBys,
                                                   int offset,
                                                   int pagelength,
                                                   String toSelect)

        Description copied from interface: SQLGenerator

        Generates a SELECT query with the provided parameters. Uses default filtering mode (INCLUSIVE).

        Specified by:

        generateSelectQuery in interface SQLGenerator

        Parameters:

        tableName - Name of the table queried

        filters - The filters, converted into a WHERE clause

        orderBys - The the ordering conditions, converted into an ORDER BY clause

        offset - The offset of the first row to be included

        pagelength - The number of rows to be returned when the query executes

        toSelect - String containing what to select, e.g. "*", "COUNT(*)"

        Returns:

        StatementHelper instance containing the query string for a PreparedStatement and the values required for the parameters

      • generateUpdateQuery

        public StatementHelper generateUpdateQuery​(String tableName,
                                                   RowItem item)

        Description copied from interface: SQLGenerator

        Generates an UPDATE query with the provided parameters.

        Specified by:

        generateUpdateQuery in interface SQLGenerator

        Parameters:

        tableName - Name of the table queried

        item - RowItem containing the updated values update.

        Returns:

        StatementHelper instance containing the query string for a PreparedStatement and the values required for the parameters

      • generateInsertQuery

        public StatementHelper generateInsertQuery​(String tableName,
                                                   RowItem item)

        Description copied from interface: SQLGenerator

        Generates an INSERT query for inserting a new row with the provided values.

        Specified by:

        generateInsertQuery in interface SQLGenerator

        Parameters:

        tableName - Name of the table queried

        item - New RowItem to be inserted into the database.

        Returns:

        StatementHelper instance containing the query string for a PreparedStatement and the values required for the parameters

      • generateDeleteQuery

        public StatementHelper generateDeleteQuery​(String tableName,
                                                   List<String> primaryKeyColumns,
                                                   String versionColumn,
                                                   RowItem item)

        Description copied from interface: SQLGenerator

        Generates a DELETE query for deleting data related to the given RowItem from the database.

        Specified by:

        generateDeleteQuery in interface SQLGenerator

        Parameters:

        tableName - Name of the table queried

        primaryKeyColumns - the names of the columns holding the primary key. Usually just one column, but might be several.

        versionColumn - the column containing the version number of the row, null if versioning (optimistic locking) not enabled.

        item - Item to be deleted from the database

        Returns:

        StatementHelper instance containing the query string for a PreparedStatement and the values required for the parameters

      • generateOrderBy

        protected StringBuffer generateOrderBy​(StringBuffer sb,
                                               OrderBy o,
                                               boolean firstOrderBy)

        Generates sorting rules as an ORDER BY -clause

        Parameters:

        sb - StringBuffer to which the clause is appended.

        o - OrderBy object to be added into the sb.

        firstOrderBy - If true, this is the first OrderBy.

        Returns:

      • generateLimits

        protected StringBuffer generateLimits​(StringBuffer sb,
                                              int offset,
                                              int pagelength)

        Generates the LIMIT and OFFSET clause.

        Parameters:

        sb - StringBuffer to which the clause is appended.

        offset - Value for offset.

        pagelength - Value for pagelength.

        Returns:

        StringBuffer with LIMIT and OFFSET clause added.

      • getStatementHelper

        protected StatementHelper getStatementHelper()

        Returns the statement helper for the generator. Override this to handle platform specific data types.

        Returns:

        a new instance of the statement helper