Class JdbcDialectFactory

  • All Implemented Interfaces:
    DialectFactory

    public class JdbcDialectFactory
    extends java.lang.Object
    implements DialectFactory
    Implementation of DialectFactory for subclasses of JdbcDialectImpl.

    Assumes that the dialect has a public constructor that takes a Connection as a parameter.

    • Constructor Detail

      • JdbcDialectFactory

        public JdbcDialectFactory​(java.lang.Class<? extends JdbcDialectImpl> dialectClass,
                                  Dialect.DatabaseProduct databaseProduct)
        Creates a JdbcDialectFactory.
        Parameters:
        dialectClass - Dialect class
        databaseProduct - Database type (e.g. Oracle) if this is a common RDBMS, or null if it is an uncommon one
    • Method Detail

      • createDialectHelper

        public static Dialect createDialectHelper​(DialectFactory factory,
                                                  javax.sql.DataSource dataSource)
        Creates a temporary connection and calls DialectFactory.createDialect(javax.sql.DataSource, java.sql.Connection).

        Helper method, called when createDialect is called without a Connection and the dialect factory cannot create a dialect with DataSource alone.

        It is a user error if dataSource is null (since this implies that createDialect was called with dataSource and connection both null.

        Parameters:
        factory - Dialect factory
        dataSource - Data source, must not be null
        Returns:
        Dialect, or null if factory cannot create suitable dialect
      • createDialect

        public Dialect createDialect​(javax.sql.DataSource dataSource,
                                     java.sql.Connection connection)
        Description copied from interface: DialectFactory
        Creates a Dialect.

        If the dialect cannot handle this connection, returns null.

        Specified by:
        createDialect in interface DialectFactory
        Parameters:
        dataSource - JDBC data source
        connection - JDBC connection
        Returns:
        dialect for this connection, or null if this factory's dialect is not appropriate for the connection
      • acceptsConnection

        protected boolean acceptsConnection​(java.sql.Connection connection)
        Returns whether this dialect is suitable for the given connection.
        Parameters:
        connection - Connection
        Returns:
        Whether suitable