|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.cayenne.dba.AutoAdapter
public class AutoAdapter
A DbAdapter that automatically detects the kind of database it is running on and instantiates an appropriate DB-specific adapter, delegating all subsequent method calls to this adapter.
| Field Summary | |
|---|---|
protected Provider<DbAdapter> |
adapterProvider
|
protected JdbcEventLogger |
logger
|
protected PkGenerator |
pkGenerator
|
| Constructor Summary | |
|---|---|
AutoAdapter(javax.sql.DataSource dataSource)
Deprecated. since 3.1 use #AutoAdapter(Provider) |
|
AutoAdapter(DbAdapterFactory adapterFactory,
javax.sql.DataSource dataSource)
Deprecated. since 3.1 use #AutoAdapter(Provider) |
|
AutoAdapter(Provider<DbAdapter> adapterProvider,
JdbcEventLogger logger)
Creates an AutoAdapter based on a delegate adapter obtained via
"adapterProvider". |
|
| Method Summary | |
|---|---|
static void |
addFactory(DbAdapterFactory factory)
Deprecated. since 3.1 in favor of DbAdapterFactory
configured via dependency injection. |
void |
bindParameter(java.sql.PreparedStatement statement,
java.lang.Object object,
int pos,
int sqlType,
int precision)
Binds an object value to PreparedStatement's numbered parameter. |
DbAttribute |
buildAttribute(java.lang.String name,
java.lang.String typeName,
int type,
int size,
int precision,
boolean allowNulls)
Creates and returns a DbAttribute based on supplied parameters (usually obtained from database meta data). |
protected DbAdapterFactory |
createDefaultFactory()
Deprecated. since 3.1 in favor of DbAdapterFactory
configured via dependency injection. |
java.lang.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. |
java.lang.String |
createTable(DbEntity entity)
Returns a SQL string that can be used to create database table corresponding to entity parameter. |
void |
createTableAppendColumn(java.lang.StringBuffer sqlBuffer,
DbAttribute column)
Append the column type part of a "create table" to the given StringBuffer |
java.lang.String |
createUniqueConstraint(DbEntity source,
java.util.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. |
java.util.Collection<java.lang.String> |
dropTableStatements(DbEntity table)
Returns a collection of SQL statements needed to drop a database table. |
java.lang.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. |
protected DbAdapter |
getAdapter()
Returns a proxied DbAdapter, lazily creating it on first invocation. |
java.lang.String |
getBatchTerminator()
Returns a String used to terminate a batch in command-line tools. |
static DbAdapterFactory |
getDefaultFactory()
Deprecated. since 3.1 in favor of DbAdapterFactory
configured via dependency injection. |
ExtendedTypeMap |
getExtendedTypes()
Returns a map of ExtendedTypes that is used to translate values between Java and JDBC layer. |
PkGenerator |
getPkGenerator()
Returns a primary key generator. |
QualifierTranslator |
getQualifierTranslator(QueryAssembler queryAssembler)
|
QuotingStrategy |
getQuotingStrategy(boolean isQuoteStrategy)
|
protected DbAdapter |
loadAdapter()
Loads underlying DbAdapter delegate. |
MergerFactory |
mergerFactory()
|
void |
setPkGenerator(PkGenerator pkGenerator)
Sets a PK generator override. |
boolean |
supportsBatchUpdates()
Returns true if the target database supports batch updates. |
boolean |
supportsGeneratedKeys()
Returns true if a target database supports key autogeneration. |
boolean |
supportsUniqueConstraints()
Returns true if a target database supports UNIQUE constraints. |
java.lang.String |
tableTypeForTable()
Returns the name of the table type (as returned by DatabaseMetaData.getTableTypes) for a simple user table. |
java.lang.String |
tableTypeForView()
Returns the name of the table type (as returned by DatabaseMetaData.getTableTypes) for a view table. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected Provider<DbAdapter> adapterProvider
protected PkGenerator pkGenerator
protected JdbcEventLogger logger
| Constructor Detail |
|---|
public AutoAdapter(javax.sql.DataSource dataSource)
#AutoAdapter(Provider)
public AutoAdapter(DbAdapterFactory adapterFactory,
javax.sql.DataSource dataSource)
#AutoAdapter(Provider)
public AutoAdapter(Provider<DbAdapter> adapterProvider,
JdbcEventLogger logger)
AutoAdapter based on a delegate adapter obtained via
"adapterProvider".
| Method Detail |
|---|
public static void addFactory(DbAdapterFactory factory)
DbAdapterFactory
configured via dependency injection.
public static DbAdapterFactory getDefaultFactory()
DbAdapterFactory
configured via dependency injection.
protected DbAdapterFactory createDefaultFactory()
DbAdapterFactory
configured via dependency injection.
protected DbAdapter getAdapter()
protected DbAdapter loadAdapter()
public java.lang.String getBatchTerminator()
DbAdapter
getBatchTerminator in interface DbAdapterpublic QualifierTranslator getQualifierTranslator(QueryAssembler queryAssembler)
getQualifierTranslator in interface DbAdapter
public SQLAction getAction(Query query,
DataNode node)
DbAdapter
getAction in interface DbAdapterpublic boolean supportsUniqueConstraints()
DbAdapter
supportsUniqueConstraints in interface DbAdapterpublic boolean supportsGeneratedKeys()
DbAdapter
supportsGeneratedKeys in interface DbAdapterpublic boolean supportsBatchUpdates()
DbAdaptertrue if the target database supports batch updates.
supportsBatchUpdates in interface DbAdapterpublic java.util.Collection<java.lang.String> dropTableStatements(DbEntity table)
DbAdapter
dropTableStatements in interface DbAdapterpublic java.lang.String createTable(DbEntity entity)
DbAdapterentity parameter.
createTable in interface DbAdapter
public java.lang.String createUniqueConstraint(DbEntity source,
java.util.Collection<DbAttribute> columns)
DbAdapter
createUniqueConstraint in interface DbAdapterpublic java.lang.String createFkConstraint(DbRelationship rel)
DbAdapter
createFkConstraint in interface DbAdapterpublic java.lang.String[] externalTypesForJdbcType(int type)
DbAdaptertype. Valid
JDBC types are defined in java.sql.Types.
externalTypesForJdbcType in interface DbAdapterpublic ExtendedTypeMap getExtendedTypes()
DbAdapter
getExtendedTypes in interface DbAdapterpublic PkGenerator getPkGenerator()
getPkGenerator in interface DbAdapterpublic void setPkGenerator(PkGenerator pkGenerator)
public DbAttribute buildAttribute(java.lang.String name,
java.lang.String typeName,
int type,
int size,
int precision,
boolean allowNulls)
DbAdapter
buildAttribute in interface DbAdaptername - 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)precision - database column scale, i.e. the number of decimal digits (ignored if
less than zero)allowNulls - database column nullable parameter
public void bindParameter(java.sql.PreparedStatement statement,
java.lang.Object object,
int pos,
int sqlType,
int precision)
throws java.sql.SQLException,
java.lang.Exception
DbAdapter
bindParameter in interface DbAdapterjava.sql.SQLException
java.lang.Exceptionpublic java.lang.String tableTypeForTable()
DbAdapterDatabaseMetaData.getTableTypes) for a simple user table.
tableTypeForTable in interface DbAdapterpublic java.lang.String tableTypeForView()
DbAdapterDatabaseMetaData.getTableTypes) for a view table.
tableTypeForView in interface DbAdapterpublic MergerFactory mergerFactory()
mergerFactory in interface DbAdapter
public void createTableAppendColumn(java.lang.StringBuffer sqlBuffer,
DbAttribute column)
DbAdapterStringBuffer
createTableAppendColumn in interface DbAdaptersqlBuffer - the StringBuffer to append the column type tocolumn - the DbAttribute defining the column to append type forpublic QuotingStrategy getQuotingStrategy(boolean isQuoteStrategy)
getQuotingStrategy in interface DbAdapter
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||