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 void
clearRegistry()
Removes all registered databases, even built in ones.Database
findCorrectDatabaseImplementation(DatabaseConnection connection)
String
findDefaultDriver(String url)
Returns the Java class name of the JDBC driver class (e.g.Database
getDatabase(String shortName)
List<Database>
getImplementedDatabases()
Returns instances of all implemented database types.static DatabaseFactory
getInstance()
List<Database>
getInternalDatabases()
Returns instances of all "internal" database types.DatabaseConnection
openConnection(String url, String username, String password, String driver, String databaseClass, String driverPropertiesFile, String propertyProviderClass, ResourceAccessor resourceAccessor)
DatabaseConnection
openConnection(String url, String username, String driver, String databaseClass, Properties driverProperties, ResourceAccessor resourceAccessor)
DatabaseConnection
openConnection(String url, String username, String password, String propertyProvider, ResourceAccessor resourceAccessor)
Database
openDatabase(String url, String username, String password, String driver, String databaseClass, String driverPropertiesFile, String propertyProviderClass, ResourceAccessor resourceAccessor)
Database
openDatabase(String url, String username, String driver, String databaseClass, Properties driverProperties, ResourceAccessor resourceAccessor)
Database
openDatabase(String url, String username, String password, String propertyProviderClass, ResourceAccessor resourceAccessor)
void
register(Database database)
static void
reset()
static void
setInstance(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
-
-