au.net.causal.maven.plugins.boxdb.db.BoxDatabaseFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of boxdb-maven-plugin Show documentation
Show all versions of boxdb-maven-plugin Show documentation
Maven plugin to start databases using Docker and VMs
package au.net.causal.maven.plugins.boxdb.db;
/**
* Factory for boxed databases. Implementations should have zero-argument constructors and be registered
* in a /META-INF/services/au.net.causal.maven.plugins.boxdb.db.BoxDatabaseFactory
file.
*/
public interface BoxDatabaseFactory
{
/**
* Creates a box database.
*
* @param boxConfiguration configuration for the database itself.
* @param projectConfiguration generic project and global configuration.
* @param context context for interacting with Maven and other parts of the system.
*
* @return the created database.
*
* @throws BoxDatabaseException if an error occurs.
*/
public BoxDatabase create(BoxConfiguration boxConfiguration, ProjectConfiguration projectConfiguration, BoxContext context)
throws BoxDatabaseException;
/**
* The database type name. Users select this factory by specifying this name as database type in the
* box configuration or through a property on the command line.
*/
public String name();
}