| hu.netmind.persistence.DatabaseImplementation
All known Subclasses: hu.netmind.persistence.GenericDatabase,
DatabaseImplementation | public interface DatabaseImplementation (Code) | | All database implementations must adhere to this specification.
To support a specific database, the abstract methods of this class must be
implemented and the class added to the database factory (source).
The following issues must be handled by implementation:
- Implementation may provide run-time optimalization of database
configuration, indexes, tablespaces as long as it keeps all data
intact and available as before.
author: Brautigam Robert version: Revision: $Revision$ |
Method Summary | |
DatabaseStatistics | ensureTable(Connection connection, String tableName, Map attributeTypes, List keyAttributeNames, boolean create) Ensure that table exists in database. | DatabaseStatistics | insert(Connection connection, String tableName, Map attributes) Insert an object into the database. | void | release(ConnectionSource source) Releases all resources held by the database implementation.
Parameters: source - The connection source which can be used to communicatefor the last time with the database server. | DatabaseStatistics | remove(Connection connection, String tableName, Map attributes) Remove an entry from database. | DatabaseStatistics | save(Connection connection, String tableName, Map keys, Map attributes) Modifies an object already in database with given fields. | DatabaseStatistics | search(Connection connection, QueryStatement stmt, Limits limits, SearchResult result) Select objects from database as ordered list of attribute maps.
Parameters: connection - The connection to use. Parameters: stmt - The query statement. Parameters: limits - The limits of the result. |
ensureTable | DatabaseStatistics ensureTable(Connection connection, String tableName, Map attributeTypes, List keyAttributeNames, boolean create)(Code) | | Ensure that table exists in database. It is the responsibility of
the implementation to ensure that the named table with given
parameters exists. If the table exists, but is not defined
as in 'attributeTypes', the implementation must
retain all common attributes during the re-structuring of that
table. Of course, if no common attributes exist, the implementation
is free to drop the table and recreate it.
In every database, the field named 'persistence_id' is the primary
key if it exists, or no primary key if the attributeTypes do not
contain it.
All columns will be indexed by default.
Parameters: tableName - The table to check. Parameters: attributeTypes - The attribute names together with whichjava class they should hold. Parameters: create - If true, create table physically, if false, onlyupdate internal representations, but do not create table. |
insert | DatabaseStatistics insert(Connection connection, String tableName, Map attributes)(Code) | | Insert an object into the database.
Parameters: tableName - The table to save attributes to. Parameters: attributes - The attributes in form of name:value pairs. |
release | void release(ConnectionSource source)(Code) | | Releases all resources held by the database implementation.
Parameters: source - The connection source which can be used to communicatefor the last time with the database server. Allocated connections shouldnot be closed, the caller will handle that. |
remove | DatabaseStatistics remove(Connection connection, String tableName, Map attributes)(Code) | | Remove an entry from database.
Parameters: tableName - The table to remove object from. Parameters: attributes - The attributes which identify the object.Equality is assumed with each attribute and it's value. |
save | DatabaseStatistics save(Connection connection, String tableName, Map keys, Map attributes)(Code) | | Modifies an object already in database with given fields.
Parameters: tableName - The table to save attributes to. Parameters: id - The id of object to save (All object entries have an id). Parameters: attributes - The attributes in form of name:value pairs. |
search | DatabaseStatistics search(Connection connection, QueryStatement stmt, Limits limits, SearchResult result)(Code) | | Select objects from database as ordered list of attribute maps.
Parameters: connection - The connection to use. Parameters: stmt - The query statement. Parameters: limits - The limits of the result. (Offset, maximum result count) Parameters: result - The result object. It will be filled with data. |
|
|