Package org.syncany.database
Class DatabaseConnectionFactory
- java.lang.Object
-
- org.syncany.database.DatabaseConnectionFactory
-
public class DatabaseConnectionFactory extends java.lang.Object
This class is a helper class that provides the connection to the embedded HSQLDB database. It is mainly used by the data access objects.The class provides methods to create
Connection
objects, retrieve SQL statements from the resources, and create the initial tables when the application is first started.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DATABASE_CONNECTION_FILE_STRING
static java.lang.String
DATABASE_DRIVER
static java.lang.String
DATABASE_RESOURCE_CREATE_ALL
static java.lang.String
DATABASE_RESOURCE_PATTERN
static java.util.Map<java.lang.String,java.lang.String>
DATABASE_STATEMENTS
-
Constructor Summary
Constructors Constructor Description DatabaseConnectionFactory()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.sql.Connection
createConnection(java.io.File databaseFile, boolean readOnly)
Creates a database connection using the given database file.static java.lang.String
getStatement(java.lang.String resourceIdentifier)
Retrieves a SQL statement template from a resource using the given resource identifier.static java.io.InputStream
getStatementInputStream(java.lang.String resourceIdentifier)
-
-
-
Field Detail
-
DATABASE_DRIVER
public static final java.lang.String DATABASE_DRIVER
- See Also:
- Constant Field Values
-
DATABASE_CONNECTION_FILE_STRING
public static final java.lang.String DATABASE_CONNECTION_FILE_STRING
- See Also:
- Constant Field Values
-
DATABASE_RESOURCE_PATTERN
public static final java.lang.String DATABASE_RESOURCE_PATTERN
- See Also:
- Constant Field Values
-
DATABASE_RESOURCE_CREATE_ALL
public static final java.lang.String DATABASE_RESOURCE_CREATE_ALL
- See Also:
- Constant Field Values
-
DATABASE_STATEMENTS
public static final java.util.Map<java.lang.String,java.lang.String> DATABASE_STATEMENTS
-
-
Constructor Detail
-
DatabaseConnectionFactory
public DatabaseConnectionFactory()
-
-
Method Detail
-
createConnection
public static java.sql.Connection createConnection(java.io.File databaseFile, boolean readOnly)
Creates a database connection using the given database file. If the database exists and the application tables are present, a valid connection is returned. If not, the database is created and the application tables are created.- Parameters:
databaseFile
- File at which to create/load the databasereadOnly
- True if this connection is only used for reading.- Returns:
- Returns a valid database connection
-
getStatement
public static java.lang.String getStatement(java.lang.String resourceIdentifier)
Retrieves a SQL statement template from a resource using the given resource identifier. From this template, aPreparedStatement
can be created.The statement is either loaded from the resource (if it is first encountered), or loaded from the cache if it has been seen before.
- Parameters:
resourceIdentifier
- Path to the resource, e.g. "create.all.sql"- Returns:
- Returns the SQL statement read from the resource
-
getStatementInputStream
public static java.io.InputStream getStatementInputStream(java.lang.String resourceIdentifier)
-
-