Package liquibase.database
Class DatabaseFactory
- java.lang.Object
-
- liquibase.database.DatabaseFactory
-
- All Implemented Interfaces:
SingletonObject
public class DatabaseFactory extends Object implements SingletonObject
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearRegistry()Removes all registered databases, even built in ones.DatabasefindCorrectDatabaseImplementation(DatabaseConnection connection)StringfindDefaultDriver(String url)Returns the Java class name of the JDBC driver class (e.g.DatabasegetDatabase(String shortName)List<Database>getImplementedDatabases()Returns instances of all implemented database types.static DatabaseFactorygetInstance()List<Database>getInternalDatabases()Returns instances of all "internal" database types.DatabaseConnectionopenConnection(String url, String username, String password, String driver, String databaseClass, String driverPropertiesFile, String propertyProviderClass, ResourceAccessor resourceAccessor)DatabaseConnectionopenConnection(String url, String username, String driver, String databaseClass, Properties driverProperties, ResourceAccessor resourceAccessor)DatabaseConnectionopenConnection(String url, String username, String password, String propertyProvider, ResourceAccessor resourceAccessor)DatabaseopenDatabase(String url, String username, String password, String driver, String databaseClass, String driverPropertiesFile, String propertyProviderClass, ResourceAccessor resourceAccessor)DatabaseopenDatabase(String url, String username, String driver, String databaseClass, Properties driverProperties, ResourceAccessor resourceAccessor)DatabaseopenDatabase(String url, String username, String password, String propertyProviderClass, ResourceAccessor resourceAccessor)voidregister(Database database)static voidreset()static voidsetInstance(DatabaseFactory databaseFactory)Set singleton instance.
-
-
-
Method Detail
-
getInstance
public static DatabaseFactory getInstance()
-
setInstance
public static void setInstance(DatabaseFactory databaseFactory)
Set singleton instance. Primarily used in testing
-
reset
public static void reset()
-
getImplementedDatabases
public List<Database> getImplementedDatabases()
Returns instances of all implemented database types.
-
getInternalDatabases
public List<Database> getInternalDatabases()
Returns instances of all "internal" database types.
-
register
public void register(Database database)
-
findCorrectDatabaseImplementation
public Database findCorrectDatabaseImplementation(DatabaseConnection connection) throws DatabaseException
- Throws:
DatabaseException
-
openDatabase
public Database openDatabase(String url, String username, String password, String propertyProviderClass, ResourceAccessor resourceAccessor) throws DatabaseException
- Throws:
DatabaseException
-
openDatabase
public Database openDatabase(String url, String username, String password, String driver, String databaseClass, String driverPropertiesFile, String propertyProviderClass, ResourceAccessor resourceAccessor) throws DatabaseException
- Throws:
DatabaseException
-
openDatabase
public Database openDatabase(String url, String username, String driver, String databaseClass, Properties driverProperties, ResourceAccessor resourceAccessor) throws DatabaseException
- Throws:
DatabaseException
-
openConnection
public DatabaseConnection openConnection(String url, String username, String password, String propertyProvider, ResourceAccessor resourceAccessor) throws DatabaseException
- Throws:
DatabaseException
-
openConnection
public DatabaseConnection openConnection(String url, String username, String password, String driver, String databaseClass, String driverPropertiesFile, String propertyProviderClass, ResourceAccessor resourceAccessor) throws DatabaseException
- Throws:
DatabaseException
-
openConnection
public DatabaseConnection openConnection(String url, String username, String driver, String databaseClass, Properties driverProperties, ResourceAccessor resourceAccessor) throws DatabaseException
- Throws:
DatabaseException
-
findDefaultDriver
public String findDefaultDriver(String url)
Returns the Java class name of the JDBC driver class (e.g. "org.mariadb.jdbc.Driver") for the specified JDBC URL, if any Database class supports that URL.- Parameters:
url- the JDBC URL to analyse- Returns:
- a Database object supporting the URL. May also return null if the JDBC URL is unknown to all handlers.
-
clearRegistry
public void clearRegistry()
Removes all registered databases, even built in ones. Useful for forcing a particular database implementation
-
-