public class

EmbeddedDatabaseFactory

extends Object
java.lang.Object
   ↳ org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory
Known Direct Subclasses

Class Overview

Creates a EmbeddedDatabase instance. Callers are guaranteed that the returned database has been fully initialized and populated.

Can be configured:
Call setDatabaseName(String) to change the name of the database.
Call setDatabaseType(EmbeddedDatabaseType) to set the database type if you wish to use one of the supported types.
Call setDatabaseConfigurer(EmbeddedDatabaseConfigurer) to configure support for your own embedded database type.
Call setDatabasePopulator(DatabasePopulator) to change the algorithm used to populate the database.
Call setDataSourceFactory(DataSourceFactory) to change the type of DataSource used to connect to the database.
Call getDatabase() to get the EmbeddedDatabase instance.

Summary

Public Constructors
EmbeddedDatabaseFactory()
Public Methods
EmbeddedDatabase getDatabase()
Factory method that returns the embedded database instance.
void setDataSourceFactory(DataSourceFactory dataSourceFactory)
Set the factory to use to create the DataSource instance that connects to the embedded database.
void setDatabaseConfigurer(EmbeddedDatabaseConfigurer configurer)
Set the strategy that will be used to configure the embedded database instance.
void setDatabaseName(String databaseName)
Set the name of the database.
void setDatabasePopulator(DatabasePopulator populator)
Set the strategy that will be used to populate the embedded database.
void setDatabaseType(EmbeddedDatabaseType type)
Set the type of embedded database to use.
Protected Methods
DataSource getDataSource()
Hook that gets the DataSource that provides the connectivity to the embedded database.
void initDatabase()
Hook to initialize the embedded database.
void shutdownDatabase()
Hook to shutdown the embedded database.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public EmbeddedDatabaseFactory ()

Public Methods

public EmbeddedDatabase getDatabase ()

Factory method that returns the embedded database instance.

public void setDataSourceFactory (DataSourceFactory dataSourceFactory)

Set the factory to use to create the DataSource instance that connects to the embedded database. Defaults to SimpleDriverDataSourceFactory.

Parameters
dataSourceFactory the data source factory

public void setDatabaseConfigurer (EmbeddedDatabaseConfigurer configurer)

Set the strategy that will be used to configure the embedded database instance. Call this when you wish to use an embedded database type not already supported.

Parameters
configurer the embedded database configurer

public void setDatabaseName (String databaseName)

Set the name of the database. Defaults to "testdb".

Parameters
databaseName name of the test database

public void setDatabasePopulator (DatabasePopulator populator)

Set the strategy that will be used to populate the embedded database. Defaults to null.

Parameters
populator the database populator

public void setDatabaseType (EmbeddedDatabaseType type)

Set the type of embedded database to use. Call this when you wish to configure one of the pre-supported types. Defaults to HSQL.

Parameters
type the test database type

Protected Methods

protected DataSource getDataSource ()

Hook that gets the DataSource that provides the connectivity to the embedded database.

Returns null if the DataSource has not been initialized or the database has been shut down. Subclasses may call to access the datasource instance directly.

protected void initDatabase ()

Hook to initialize the embedded database. Subclasses may call to force initialization. After calling this method, getDataSource() returns the DataSource providing connectivity to the db.

protected void shutdownDatabase ()

Hook to shutdown the embedded database. Subclasses may call to force shutdown. After calling, getDataSource() returns null. Does nothing if no embedded database has been initialized.