org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo.java Source code

Java tutorial

Introduction

Here is the source code for org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo.java

Source

/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
 */
package org.hibernate.engine.jdbc.dialect.spi;

/**
 * Exposes information about the database and JDBC driver that can be used in resolving the appropriate Dialect
 * to use.
 * <p/>
 * The information here mimics part of the JDBC {@link java.sql.DatabaseMetaData} contract, specifically the portions
 * about database and driver names and versions.
 *
 * @author Steve Ebersole
 */
public interface DialectResolutionInfo {
    /**
     * Constant used to indicate that no version is defined
     */
    public static final int NO_VERSION = -9999;

    /**
     * Obtain access to the database name, as returned from {@link java.sql.DatabaseMetaData#getDatabaseProductName()}
     * for the target database
     *
     * @return The database name
     *
     * @see java.sql.DatabaseMetaData#getDatabaseProductName()
     */
    public String getDatabaseName();

    /**
     * Obtain access to the database major version, as returned from
     * {@link java.sql.DatabaseMetaData#getDatabaseMajorVersion()} for the target database.
     *
     * @return The database major version, or {@value #NO_VERSION} to indicate "no version information"
     *
     * @see java.sql.DatabaseMetaData#getDatabaseMajorVersion()
     */
    public int getDatabaseMajorVersion();

    /**
     * Obtain access to the database minor version, as returned from
     * {@link java.sql.DatabaseMetaData#getDatabaseMinorVersion()} for the target database.
     *
     * @return The database minor version, or {@value #NO_VERSION} to indicate "no version information"
     *
     * @see java.sql.DatabaseMetaData#getDatabaseMinorVersion()
     */
    public int getDatabaseMinorVersion();

    /**
     * Obtain access to the name of the JDBC driver, as returned from {@link java.sql.DatabaseMetaData#getDriverName()}
     * for the target database
     *
     * @return The JDBC driver name
     *
     * @see java.sql.DatabaseMetaData#getDriverName()
     */
    public String getDriverName();

    /**
     * Obtain access to the major version of the JDBC driver, as returned from
     * {@link java.sql.DatabaseMetaData#getDriverMajorVersion()} ()} for the target database.
     *
     * @return The JDBC driver major version, or {@value #NO_VERSION} to indicate "no version information"
     *
     * @see java.sql.DatabaseMetaData#getDriverMajorVersion()
     */
    public int getDriverMajorVersion();

    /**
     * Obtain access to the minor version of the JDBC driver, as returned from
     * {@link java.sql.DatabaseMetaData#getDriverMinorVersion()} for the target database.
     *
     * @return The JDBC driver minor version, or {@value #NO_VERSION} to indicate "no version information"
     *
     * @see java.sql.DatabaseMetaData#getDriverMinorVersion()
     */
    public int getDriverMinorVersion();

}