| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface DbAdapter
Defines API needed to handle differences between various databases accessed via JDBC. Implementing classed are intended to be pluggable database-specific adapters. DbAdapter-based architecture is introduced to solve the following problems:
| Method Summary | |
|---|---|
|  void | bindParameter(PreparedStatement statement,
              Object object,
              int pos,
              int sqlType,
              int scale)Binds an object value to PreparedStatement's numbered parameter. | 
|  DbAttribute | buildAttribute(String name,
               String typeName,
               int type,
               int size,
               int scale,
               boolean allowNulls)Creates and returns a DbAttribute based on supplied parameters (usually obtained from database meta data). | 
|  String | createFkConstraint(DbRelationship rel)Returns a SQL string that can be used to create a foreign key constraint for the relationship, or null if foreign keys are not supported. | 
|  String | createTable(DbEntity entity)Returns a SQL string that can be used to create database table corresponding to entityparameter. | 
|  void | createTableAppendColumn(StringBuffer sqlBuffer,
                        DbAttribute column)Append the column type part of a "create table" to the given StringBuffer | 
|  String | createUniqueConstraint(DbEntity source,
                       Collection<DbAttribute> columns)Returns a DDL string to create a unique constraint over a set of columns, or null if the unique constraints are not supported. | 
|  String | dropTable(DbEntity entity)Deprecated. since 3.0 Cayenne supports 'dropTableStatements' to allow multiple statements to be executed when dropping the table. | 
|  Collection<String> | dropTableStatements(DbEntity table)Returns a collection of SQL statements needed to drop a database table. | 
|  String[] | externalTypesForJdbcType(int type)Returns an array of RDBMS types that can be used with JDBC type. | 
|  SQLAction | getAction(Query query,
          DataNode node)Returns an instance of SQLAction that should handle the query. | 
|  String | getBatchTerminator()Returns a String used to terminate a batch in command-line tools. | 
|  ExtendedTypeMap | getExtendedTypes()Returns a map of ExtendedTypes that is used to translate values between Java and JDBC layer. | 
|  PkGenerator | getPkGenerator()Returns primary key generator associated with this DbAdapter. | 
|  QualifierTranslator | getQualifierTranslator(QueryAssembler queryAssembler) | 
|  QuotingStrategy | getQuotingStrategy(boolean needQuotes) | 
|  MergerFactory | mergerFactory() | 
|  boolean | supportsBatchUpdates()Returns trueif the target database supports batch updates. | 
|  boolean | supportsFkConstraints()Deprecated. since 3.0 - almost all DB's support FK's now and also this flag is less relevant for Cayenne now. | 
|  boolean | supportsGeneratedKeys()Returns true if a target database supports key autogeneration. | 
|  boolean | supportsUniqueConstraints()Returns true if a target database supports UNIQUE constraints. | 
|  String | tableTypeForTable()Returns the name of the table type (as returned by DatabaseMetaData.getTableTypes) for a simple user table. | 
|  String | tableTypeForView()Returns the name of the table type (as returned by DatabaseMetaData.getTableTypes) for a view table. | 
| Method Detail | 
|---|
String getBatchTerminator()
QualifierTranslator getQualifierTranslator(QueryAssembler queryAssembler)
SQLAction getAction(Query query,
                    DataNode node)
boolean supportsFkConstraints()
boolean supportsUniqueConstraints()
boolean supportsGeneratedKeys()
boolean supportsBatchUpdates()
true if the target database supports batch updates.
String dropTable(DbEntity entity)
Collection<String> dropTableStatements(DbEntity table)
String createTable(DbEntity entity)
entity parameter.
String createUniqueConstraint(DbEntity source,
                              Collection<DbAttribute> columns)
String createFkConstraint(DbRelationship rel)
String[] externalTypesForJdbcType(int type)
type. Valid
 JDBC types are defined in java.sql.Types.
ExtendedTypeMap getExtendedTypes()
PkGenerator getPkGenerator()
DbAttribute buildAttribute(String name,
                           String typeName,
                           int type,
                           int size,
                           int scale,
                           boolean allowNulls)
name - database column nametypeName - database specific type name, may be used as a hint to determine the
            right JDBC type.type - JDBC column typesize - database column size (ignored if less than zero)scale - database column scale, i.e. the number of decimal digits (ignored if
            less than zero)allowNulls - database column nullable parameter
void bindParameter(PreparedStatement statement,
                   Object object,
                   int pos,
                   int sqlType,
                   int scale)
                   throws SQLException,
                          Exception
SQLException
ExceptionString tableTypeForTable()
DatabaseMetaData.getTableTypes) for a simple user table.
String tableTypeForView()
DatabaseMetaData.getTableTypes) for a view table.
MergerFactory mergerFactory()
void createTableAppendColumn(StringBuffer sqlBuffer,
                             DbAttribute column)
StringBuffer
sqlBuffer - the StringBuffer to append the column type tocolumn - the DbAttribute defining the column to append type forQuotingStrategy getQuotingStrategy(boolean needQuotes)
| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||