Modifier and Type | Field and Description |
---|---|
protected Provider<DbAdapter> |
adapterProvider |
protected JdbcEventLogger |
logger |
protected PkGenerator |
pkGenerator |
Constructor and Description |
---|
AutoAdapter(Provider<DbAdapter> adapterProvider,
JdbcEventLogger logger)
Creates an
AutoAdapter based on a delegate adapter obtained via
"adapterProvider". |
Modifier and Type | Method and Description |
---|---|
void |
bindParameter(PreparedStatement statement,
Object object,
int pos,
int sqlType,
int precision)
Binds an object value to PreparedStatement's numbered parameter.
|
DbAttribute |
buildAttribute(String name,
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).
|
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
entity parameter. |
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.
|
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.
|
protected DbAdapter |
getAdapter()
Returns a proxied DbAdapter, lazily creating it on first invocation.
|
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 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.
|
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. |
boolean |
typeSupportsLength(int type)
Returns
true if supplied type can have a length attribute as a part of column
definition. |
protected PkGenerator pkGenerator
protected JdbcEventLogger logger
public AutoAdapter(Provider<DbAdapter> adapterProvider, JdbcEventLogger logger)
AutoAdapter
based on a delegate adapter obtained via
"adapterProvider".protected DbAdapter getAdapter()
protected DbAdapter loadAdapter()
public String getBatchTerminator()
DbAdapter
getBatchTerminator
in interface DbAdapter
public QualifierTranslator getQualifierTranslator(QueryAssembler queryAssembler)
getQualifierTranslator
in interface DbAdapter
public SQLAction getAction(Query query, DataNode node)
DbAdapter
public boolean supportsUniqueConstraints()
DbAdapter
supportsUniqueConstraints
in interface DbAdapter
public boolean supportsGeneratedKeys()
DbAdapter
supportsGeneratedKeys
in interface DbAdapter
public boolean supportsBatchUpdates()
DbAdapter
true
if the target database supports batch updates.supportsBatchUpdates
in interface DbAdapter
public boolean typeSupportsLength(int type)
DbAdapter
true
if supplied type can have a length attribute as a part of column
definition.typeSupportsLength
in interface DbAdapter
public Collection<String> dropTableStatements(DbEntity table)
DbAdapter
dropTableStatements
in interface DbAdapter
public String createTable(DbEntity entity)
DbAdapter
entity
parameter.createTable
in interface DbAdapter
public String createUniqueConstraint(DbEntity source, Collection<DbAttribute> columns)
DbAdapter
createUniqueConstraint
in interface DbAdapter
public String createFkConstraint(DbRelationship rel)
DbAdapter
createFkConstraint
in interface DbAdapter
public String[] externalTypesForJdbcType(int type)
DbAdapter
type
. Valid
JDBC types are defined in java.sql.Types.externalTypesForJdbcType
in interface DbAdapter
public ExtendedTypeMap getExtendedTypes()
DbAdapter
getExtendedTypes
in interface DbAdapter
public PkGenerator getPkGenerator()
getPkGenerator
in interface DbAdapter
public void setPkGenerator(PkGenerator pkGenerator)
public DbAttribute buildAttribute(String name, String typeName, int type, int size, int precision, boolean allowNulls)
DbAdapter
buildAttribute
in interface DbAdapter
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)precision
- database column scale, i.e. the number of decimal digits (ignored if
less than zero)allowNulls
- database column nullable parameterpublic void bindParameter(PreparedStatement statement, Object object, int pos, int sqlType, int precision) throws SQLException, Exception
DbAdapter
bindParameter
in interface DbAdapter
SQLException
Exception
public String tableTypeForTable()
DbAdapter
DatabaseMetaData.getTableTypes
) for a simple user table.tableTypeForTable
in interface DbAdapter
public String tableTypeForView()
DbAdapter
DatabaseMetaData.getTableTypes
) for a view table.tableTypeForView
in interface DbAdapter
public MergerFactory mergerFactory()
mergerFactory
in interface DbAdapter
public void createTableAppendColumn(StringBuffer sqlBuffer, DbAttribute column)
DbAdapter
StringBuffer
createTableAppendColumn
in interface DbAdapter
sqlBuffer
- 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
Copyright © 2001–2018 Apache Cayenne. All rights reserved.