org.apache.ddlutils
Class PlatformInfo

java.lang.Object
  extended by org.apache.ddlutils.PlatformInfo

public class PlatformInfo
extends Object

Conatains information about the database platform such as supported features and native type mappings.

Version:
$Revision: 289996 $

Constructor Summary
PlatformInfo()
          Creates a new platform info object.
 
Method Summary
 void addNativeTypeMapping(int jdbcTypeCode, String nativeType)
          Adds a mapping from jdbc type to database-native type.
 void addNativeTypeMapping(int jdbcTypeCode, String nativeType, int targetJdbcTypeCode)
          Adds a mapping from jdbc type to database-native type.
 void addNativeTypeMapping(String jdbcTypeName, String nativeType)
          Adds a mapping from jdbc type to database-native type.
 void addNativeTypeMapping(String jdbcTypeName, String nativeType, String targetJdbcTypeName)
          Adds a mapping from jdbc type to database-native type.
 String getCommentPrefix()
          Returns the string that denotes the beginning of a comment.
 String getCommentSuffix()
          Returns the string that denotes the end of a comment.
 Integer getDefaultSize(int jdbcTypeCode)
          Returns the default size value for the given type, if any.
 String getDelimiterToken()
          Returns the text that is used to delimit identifiers (eg.
 boolean getIdentityStatusReadingSupported()
          Determines whether the platform is able to read the auto-increment status for columns from an existing database.
 int getMaxColumnNameLength()
          Returns the maximum number of characters that a column name can have.
 int getMaxConstraintNameLength()
          Returns the maximum number of characters that a constraint name can have.
 int getMaxForeignKeyNameLength()
          Returns the maximum number of characters that a foreign key name can have.
 int getMaxTableNameLength()
          Returns the maximum number of characters that a table name can have.
 String getNativeType(int typeCode)
          Returns the database-native type for the given type code.
 String getSqlCommandDelimiter()
          Returns the text separating individual sql commands.
 int getTargetJdbcType(int typeCode)
          Returns the jdbc type corresponding to the native type that is used for the given jdbc type.
 String getValueQuoteToken()
          Returns the text that is used for for quoting values (e.g.
 boolean hasNullDefault(int sqlTypeCode)
          Determines whether the native type for the given sql type code (one of the Types constants) has a null default value on this platform.
 boolean hasPrecisionAndScale(int sqlTypeCode)
          Determines whether the native type for the given sql type code (one of the Types constants) has precision and scale specifications on this platform.
 boolean hasSize(int sqlTypeCode)
          Determines whether the native type for the given sql type code (one of the Types constants) has a size specification on this platform.
 boolean isAlterTableForDropUsed()
          Determines whether an ALTER TABLE statement shall be used for dropping indices or constraints.
 boolean isAutoCommitModeForLastIdentityValueReading()
          Determines whether auto-commit mode for the reading of the values of identity columns after insertion shall be used, i.e.
 boolean isDefaultValuesForLongTypesSupported()
          Determines whether default values can be specified for LONGVARCHAR/LONGVARBINARY columns.
 boolean isDefaultValueUsedForIdentitySpec()
          Determines whether the auto-increment specification uses the DEFAULT value of the column definition.
 boolean isDelimitedIdentifiersSupported()
          Determines whether delimited identifiers are supported.
 boolean isEmbeddedForeignKeysNamed()
          Returns whether embedded foreign key constraints should have a name.
 boolean isForeignKeysEmbedded()
          Determines whether foreign key constraints are embedded in the create table clause or as seperate alter table statements.
 boolean isIdentityOverrideAllowed()
          Determines whether the platform is allows the explicit specification of values for identity columns in INSERT/UPDATE statements.
 boolean isIndicesEmbedded()
          Determines whether the indices are embedded in the create table clause or as seperate statements.
 boolean isIndicesSupported()
          Determines whether indices are supported.
 boolean isLastIdentityValueReadable()
          Determines whether the values of identity columns can be read back from the database after insertion of a row.
 boolean isNonPKIdentityColumnsSupported()
          Determines whether non-primary key columns can be auto-incrementing (IDENTITY columns).
 boolean isNullAsDefaultValueRequired()
          Determines whether a NULL needs to be explicitly stated when the column has no specified default value.
 boolean isPrimaryKeyEmbedded()
          Determines whether primary key constraints are embedded in the create table clause or as seperate alter table statements.
 boolean isSqlCommentsSupported()
          Determines whether the database supports SQL comments.
 boolean isSyntheticDefaultValueForRequiredReturned()
          Determines whether the platform returns synthetic default values (e.g.
 boolean isSystemForeignKeyIndicesAlwaysNonUnique()
          Determines whether system indices for foreign keys are always non-unique or can be unique (i.e.
 boolean isSystemIndicesReturned()
          Determines whether database-generated indices for primary and foreign keys are returned when reading a model from a database.
 void setAlterTableForDropUsed(boolean useAlterTableForDrop)
          Specifies whether an ALTER TABLE statement shall be used for dropping indices or constraints.
 void setAutoCommitModeForLastIdentityValueReading(boolean autoCommitModeForLastIdentityValueReading)
          Determines whether auto-commit mode for the reading of the values of identity columns after insertion shall be used, i.e.
 void setCommentPrefix(String commentPrefix)
          Sets the text that starts a comment.
 void setCommentSuffix(String commentSuffix)
          Sets the text that ends a comment.
 void setDefaultSize(int jdbcTypeCode, int defaultSize)
          Adds a default size for the given jdbc type.
 void setDefaultSize(String jdbcTypeName, int defaultSize)
          Adds a default size for the given jdbc type.
 void setDefaultValuesForLongTypesSupported(boolean isSupported)
          Specifies whether default values can be specified for LONGVARCHAR/LONGVARBINARY columns.
 void setDefaultValueUsedForIdentitySpec(boolean identitySpecUsesDefaultValue)
          Specifies whether the auto-increment specification uses the DEFAULT value of the column definition.
 void setDelimitedIdentifiersSupported(boolean areSupported)
          Specifies whether delimited identifiers are supported.
 void setDelimiterToken(String delimiterToken)
          Sets the text that is used to delimit identifiers (eg.
 void setEmbeddedForeignKeysNamed(boolean embeddedForeignKeysNamed)
          Specifies whether embedded foreign key constraints should be named.
 void setForeignKeysEmbedded(boolean foreignKeysEmbedded)
          Specifies whether foreign key constraints are embedded in the create table clause or as seperate alter table statements.
 void setHasNullDefault(int sqlTypeCode, boolean hasNullDefault)
          Specifies whether the native type for the given sql type code (one of the Types constants) has a null default value on this platform.
 void setHasPrecisionAndScale(int sqlTypeCode, boolean hasPrecisionAndScale)
          Specifies whether the native type for the given sql type code (one of the Types constants) has precision and scale specifications on this platform.
 void setHasSize(int sqlTypeCode, boolean hasSize)
          Specifies whether the native type for the given sql type code (one of the Types constants) has a size specification on this platform.
 void setIdentityOverrideAllowed(boolean identityOverrideAllowed)
          Specifies whether the platform is allows the explicit specification of values for identity columns in INSERT/UPDATE statements.
 void setIdentityStatusReadingSupported(boolean canReadAutoIncrementStatus)
          Specifies whether the platform is able to read the auto-increment status for columns from an existing database.
 void setIndicesEmbedded(boolean indicesEmbedded)
          Specifies whether indices are embedded in the create table clause or as seperate alter table statements.
 void setIndicesSupported(boolean supportingIndices)
          Specifies whether indices are supported.
 void setLastIdentityValueReadable(boolean lastIdentityValueReadable)
          Specifies whether the values of identity columns can be read back from the database after insertion of a row.
 void setMaxColumnNameLength(int maxColumnNameLength)
          Sets the maximum length of column names that this database allows.
 void setMaxConstraintNameLength(int maxConstraintNameLength)
          Sets the maximum length of constraint names that this database allows.
 void setMaxForeignKeyNameLength(int maxForeignKeyNameLength)
          Sets the maximum length of foreign key names that this database allows.
 void setMaxIdentifierLength(int maxIdentifierLength)
          Sets the maximum length of all identifiers that this database allows.
 void setMaxTableNameLength(int maxTableNameLength)
          Sets the maximum length of table names that this database allows.
 void setNonPKIdentityColumnsSupported(boolean supportingNonPKIdentityColumns)
          Specifies whether non-primary key columns can be auto-incrementing (IDENTITY columns).
 void setNullAsDefaultValueRequired(boolean requiresNullAsDefaultValue)
          Specifies whether a NULL needs to be explicitly stated when the column has no specified default value.
 void setPrimaryKeyEmbedded(boolean primaryKeyEmbedded)
          Specifies whether the primary key constraints are embedded in the create table clause or as seperate alter table statements.
 void setSqlCommandDelimiter(String sqlCommandDelimiter)
          Sets the text separating individual sql commands.
 void setSqlCommentsSupported(boolean commentsSupported)
          Specifies whether SQL comments are supported by the database.
 void setSyntheticDefaultValueForRequiredReturned(boolean returningDefaultValue)
          Specifies whether the platform returns synthetic default values (e.g.
 void setSystemForeignKeyIndicesAlwaysNonUnique(boolean alwaysNonUnique)
          Specifies whether system indices for foreign keys are always non-unique or can be unique (i.e.
 void setSystemIndicesReturned(boolean returningSystemIndices)
          Specifies whether database-generated indices for primary and foreign keys are returned when reading a model from a database.
 void setValueQuoteToken(String valueQuoteChar)
          Sets the text that is used for for quoting values (e.g.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PlatformInfo

public PlatformInfo()
Creates a new platform info object.

Method Detail

isNullAsDefaultValueRequired

public boolean isNullAsDefaultValueRequired()
Determines whether a NULL needs to be explicitly stated when the column has no specified default value. Default is false.

Returns:
true if NULL must be written for empty default values

setNullAsDefaultValueRequired

public void setNullAsDefaultValueRequired(boolean requiresNullAsDefaultValue)
Specifies whether a NULL needs to be explicitly stated when the column has no specified default value. Default is false.

Parameters:
requiresNullAsDefaultValue - Whether NULL must be written for empty default values

isDefaultValuesForLongTypesSupported

public boolean isDefaultValuesForLongTypesSupported()
Determines whether default values can be specified for LONGVARCHAR/LONGVARBINARY columns.

Returns:
true if default values are allowed

setDefaultValuesForLongTypesSupported

public void setDefaultValuesForLongTypesSupported(boolean isSupported)
Specifies whether default values can be specified for LONGVARCHAR/LONGVARBINARY columns.

Parameters:
isSupported - true if default values are supported

isPrimaryKeyEmbedded

public boolean isPrimaryKeyEmbedded()
Determines whether primary key constraints are embedded in the create table clause or as seperate alter table statements. The default is embedded pks.

Returns:
true if pk constraints are embedded

setPrimaryKeyEmbedded

public void setPrimaryKeyEmbedded(boolean primaryKeyEmbedded)
Specifies whether the primary key constraints are embedded in the create table clause or as seperate alter table statements.

Parameters:
primaryKeyEmbedded - Whether pk constraints are embedded

isForeignKeysEmbedded

public boolean isForeignKeysEmbedded()
Determines whether foreign key constraints are embedded in the create table clause or as seperate alter table statements. Per default, foreign keys are external.

Returns:
true if fk constraints are embedded

setForeignKeysEmbedded

public void setForeignKeysEmbedded(boolean foreignKeysEmbedded)
Specifies whether foreign key constraints are embedded in the create table clause or as seperate alter table statements.

Parameters:
foreignKeysEmbedded - Whether fk constraints are embedded

isEmbeddedForeignKeysNamed

public boolean isEmbeddedForeignKeysNamed()
Returns whether embedded foreign key constraints should have a name.

Returns:
true if embedded fks have name

setEmbeddedForeignKeysNamed

public void setEmbeddedForeignKeysNamed(boolean embeddedForeignKeysNamed)
Specifies whether embedded foreign key constraints should be named.

Parameters:
embeddedForeignKeysNamed - Whether embedded fks shall have a name

isIndicesSupported

public boolean isIndicesSupported()
Determines whether indices are supported.

Returns:
true if indices are supported

setIndicesSupported

public void setIndicesSupported(boolean supportingIndices)
Specifies whether indices are supported.

Parameters:
supportingIndices - true if indices are supported

isIndicesEmbedded

public boolean isIndicesEmbedded()
Determines whether the indices are embedded in the create table clause or as seperate statements. Per default, indices are external.

Returns:
true if indices are embedded

setIndicesEmbedded

public void setIndicesEmbedded(boolean indicesEmbedded)
Specifies whether indices are embedded in the create table clause or as seperate alter table statements.

Parameters:
indicesEmbedded - Whether indices are embedded

isNonPKIdentityColumnsSupported

public boolean isNonPKIdentityColumnsSupported()
Determines whether non-primary key columns can be auto-incrementing (IDENTITY columns).

Returns:
true if normal non-PK columns can be auto-incrementing

setNonPKIdentityColumnsSupported

public void setNonPKIdentityColumnsSupported(boolean supportingNonPKIdentityColumns)
Specifies whether non-primary key columns can be auto-incrementing (IDENTITY columns).

Parameters:
supportingNonPKIdentityColumns - true if normal non-PK columns can be auto-incrementing

isDefaultValueUsedForIdentitySpec

public boolean isDefaultValueUsedForIdentitySpec()
Determines whether the auto-increment specification uses the DEFAULT value of the column definition.

Returns:
true if the auto-increment spec is done via the DEFAULT value

setDefaultValueUsedForIdentitySpec

public void setDefaultValueUsedForIdentitySpec(boolean identitySpecUsesDefaultValue)
Specifies whether the auto-increment specification uses the DEFAULT value of the column definition.

Parameters:
identitySpecUsesDefaultValue - true if the auto-increment spec is done via the DEFAULT value

isSystemIndicesReturned

public boolean isSystemIndicesReturned()
Determines whether database-generated indices for primary and foreign keys are returned when reading a model from a database.

Returns:
true if system indices are read from a live database

setSystemIndicesReturned

public void setSystemIndicesReturned(boolean returningSystemIndices)
Specifies whether database-generated indices for primary and foreign keys are returned when reading a model from a database.

Parameters:
returningSystemIndices - true if system indices are read from a live database

isSystemForeignKeyIndicesAlwaysNonUnique

public boolean isSystemForeignKeyIndicesAlwaysNonUnique()
Determines whether system indices for foreign keys are always non-unique or can be unique (i.e. if a primary key column is used to establish the foreign key).

Returns:
true if system foreign key indices are always non-unique; default is false

setSystemForeignKeyIndicesAlwaysNonUnique

public void setSystemForeignKeyIndicesAlwaysNonUnique(boolean alwaysNonUnique)
Specifies whether system indices for foreign keys are always non-unique or can be unique (i.e. if a primary key column is used to establish the foreign key).

Parameters:
alwaysNonUnique - true if system foreign key indices are always non-unique

isSyntheticDefaultValueForRequiredReturned

public boolean isSyntheticDefaultValueForRequiredReturned()
Determines whether the platform returns synthetic default values (e.g. 0 for numeric columns etc.) for non-identity required columns when reading a model from a database.

Returns:
true if synthetic default values are returned for non-identity required columns

setSyntheticDefaultValueForRequiredReturned

public void setSyntheticDefaultValueForRequiredReturned(boolean returningDefaultValue)
Specifies whether the platform returns synthetic default values (e.g. 0 for numeric columns etc.) for non-identity required columns when reading a model from a database.

Parameters:
returningDefaultValue - true if synthetic default values are returned for non-identity required columns

getIdentityStatusReadingSupported

public boolean getIdentityStatusReadingSupported()
Determines whether the platform is able to read the auto-increment status for columns from an existing database.

Returns:
true if the auto-increment status can be determined from an existing database

setIdentityStatusReadingSupported

public void setIdentityStatusReadingSupported(boolean canReadAutoIncrementStatus)
Specifies whether the platform is able to read the auto-increment status for columns from an existing database.

Parameters:
canReadAutoIncrementStatus - true if the auto-increment status can be determined from an existing database

isSqlCommentsSupported

public boolean isSqlCommentsSupported()
Determines whether the database supports SQL comments.

Returns:
true if comments are supported

setSqlCommentsSupported

public void setSqlCommentsSupported(boolean commentsSupported)
Specifies whether SQL comments are supported by the database.

Parameters:
commentsSupported - true if comments are supported

isDelimitedIdentifiersSupported

public boolean isDelimitedIdentifiersSupported()
Determines whether delimited identifiers are supported.

Returns:
true if delimited identifiers are supported

setDelimitedIdentifiersSupported

public void setDelimitedIdentifiersSupported(boolean areSupported)
Specifies whether delimited identifiers are supported.

Parameters:
areSupported - true if delimited identifiers are supported

isAlterTableForDropUsed

public boolean isAlterTableForDropUsed()
Determines whether an ALTER TABLE statement shall be used for dropping indices or constraints. The default is false.

Returns:
true if ALTER TABLE is required

setAlterTableForDropUsed

public void setAlterTableForDropUsed(boolean useAlterTableForDrop)
Specifies whether an ALTER TABLE statement shall be used for dropping indices or constraints.

Parameters:
useAlterTableForDrop - Whether ALTER TABLE will be used

isIdentityOverrideAllowed

public boolean isIdentityOverrideAllowed()
Determines whether the platform is allows the explicit specification of values for identity columns in INSERT/UPDATE statements.

Returns:
true if values for identity columns can be specified

setIdentityOverrideAllowed

public void setIdentityOverrideAllowed(boolean identityOverrideAllowed)
Specifies whether the platform is allows the explicit specification of values for identity columns in INSERT/UPDATE statements.

Parameters:
identityOverrideAllowed - true if values for identity columns can be specified

isLastIdentityValueReadable

public boolean isLastIdentityValueReadable()
Determines whether the values of identity columns can be read back from the database after insertion of a row.

Returns:
true if the identity column(s) can be read back

setLastIdentityValueReadable

public void setLastIdentityValueReadable(boolean lastIdentityValueReadable)
Specifies whether the values of identity columns can be read back from the database after insertion of a row.

Parameters:
lastIdentityValueReadable - true if the identity column(s) can be read back

isAutoCommitModeForLastIdentityValueReading

public boolean isAutoCommitModeForLastIdentityValueReading()
Determines whether auto-commit mode for the reading of the values of identity columns after insertion shall be used, i.e. whether between the insertion of the row and the reading of the database-generated identity value a commit is issued.

Returns:
true if auto-commit mode is used

setAutoCommitModeForLastIdentityValueReading

public void setAutoCommitModeForLastIdentityValueReading(boolean autoCommitModeForLastIdentityValueReading)
Determines whether auto-commit mode for the reading of the values of identity columns after insertion shall be used, i.e. whether between the insertion of the row and the reading of the database-generated identity value a commit is issued.

Parameters:
autoCommitModeForLastIdentityValueReading - true if auto-commit mode shall be used

getMaxTableNameLength

public int getMaxTableNameLength()
Returns the maximum number of characters that a table name can have.

Returns:
The number of characters, or -1 if not limited

getMaxColumnNameLength

public int getMaxColumnNameLength()
Returns the maximum number of characters that a column name can have.

Returns:
The number of characters, or -1 if not limited

getMaxConstraintNameLength

public int getMaxConstraintNameLength()
Returns the maximum number of characters that a constraint name can have.

Returns:
The number of characters, or -1 if not limited

getMaxForeignKeyNameLength

public int getMaxForeignKeyNameLength()
Returns the maximum number of characters that a foreign key name can have.

Returns:
The number of characters, or -1 if not limited

setMaxIdentifierLength

public void setMaxIdentifierLength(int maxIdentifierLength)
Sets the maximum length of all identifiers that this database allows. Use this method if the length limit is the same for all kinds of identifiers.

Parameters:
maxIdentifierLength - The maximum identifier length, -1 if unlimited

setMaxTableNameLength

public void setMaxTableNameLength(int maxTableNameLength)
Sets the maximum length of table names that this database allows.

Parameters:
maxTableNameLength - The maximum length, -1 if unlimited

setMaxColumnNameLength

public void setMaxColumnNameLength(int maxColumnNameLength)
Sets the maximum length of column names that this database allows.

Parameters:
maxColumnNameLength - The maximum length, -1 if unlimited

setMaxConstraintNameLength

public void setMaxConstraintNameLength(int maxConstraintNameLength)
Sets the maximum length of constraint names that this database allows.

Parameters:
maxConstraintNameLength - The maximum length, -1 if unlimited

setMaxForeignKeyNameLength

public void setMaxForeignKeyNameLength(int maxForeignKeyNameLength)
Sets the maximum length of foreign key names that this database allows.

Parameters:
maxForeignKeyNameLength - The maximum length, -1 if unlimited

getDelimiterToken

public String getDelimiterToken()
Returns the text that is used to delimit identifiers (eg. table names). Per default, this is a double quotation character (").

Returns:
The delimiter text

setDelimiterToken

public void setDelimiterToken(String delimiterToken)
Sets the text that is used to delimit identifiers (eg. table names).

Parameters:
delimiterToken - The delimiter text

getValueQuoteToken

public String getValueQuoteToken()
Returns the text that is used for for quoting values (e.g. text) when printing default values and in generates insert/update/delete statements. Per default, this is a single quotation character (').

Returns:
The quote text

setValueQuoteToken

public void setValueQuoteToken(String valueQuoteChar)
Sets the text that is used for for quoting values (e.g. text) when printing default values and in generates insert/update/delete statements.

Parameters:
valueQuoteChar - The new quote text

getCommentPrefix

public String getCommentPrefix()
Returns the string that denotes the beginning of a comment.

Returns:
The comment prefix

setCommentPrefix

public void setCommentPrefix(String commentPrefix)
Sets the text that starts a comment.

Parameters:
commentPrefix - The new comment prefix

getCommentSuffix

public String getCommentSuffix()
Returns the string that denotes the end of a comment. Note that comments will be always on their own line.

Returns:
The comment suffix

setCommentSuffix

public void setCommentSuffix(String commentSuffix)
Sets the text that ends a comment.

Parameters:
commentSuffix - The new comment suffix

getSqlCommandDelimiter

public String getSqlCommandDelimiter()
Returns the text separating individual sql commands.

Returns:
The delimiter text

setSqlCommandDelimiter

public void setSqlCommandDelimiter(String sqlCommandDelimiter)
Sets the text separating individual sql commands.

Parameters:
sqlCommandDelimiter - The delimiter text

getNativeType

public String getNativeType(int typeCode)
Returns the database-native type for the given type code.

Parameters:
typeCode - The Types type code
Returns:
The native type or null if there isn't one defined

getTargetJdbcType

public int getTargetJdbcType(int typeCode)
Returns the jdbc type corresponding to the native type that is used for the given jdbc type. This is most often the same jdbc type, but can also be a different one. For instance, if a database has no native boolean type, then the source jdbc type would be BIT or BOOLEAN, and the target jdbc type might be TINYINT or SMALLINT.

Parameters:
typeCode - The Types type code
Returns:
The target jdbc type

addNativeTypeMapping

public void addNativeTypeMapping(int jdbcTypeCode,
                                 String nativeType)
Adds a mapping from jdbc type to database-native type.

Parameters:
jdbcTypeCode - The jdbc type code as defined by Types
nativeType - The native type

addNativeTypeMapping

public void addNativeTypeMapping(int jdbcTypeCode,
                                 String nativeType,
                                 int targetJdbcTypeCode)
Adds a mapping from jdbc type to database-native type.

Parameters:
jdbcTypeCode - The jdbc type code as defined by Types
nativeType - The native type
targetJdbcTypeCode - The jdbc type code corresponding to the native type (e.g. when reading the model from the database)

addNativeTypeMapping

public void addNativeTypeMapping(String jdbcTypeName,
                                 String nativeType)
Adds a mapping from jdbc type to database-native type. Note that this method accesses the named constant in Types via reflection and is thus safe to use under JDK 1.2/1.3 even with constants defined only in later Java versions - for these, the method simply will not add a mapping.

Parameters:
jdbcTypeName - The jdbc type name, one of the constants defined in Types
nativeType - The native type

addNativeTypeMapping

public void addNativeTypeMapping(String jdbcTypeName,
                                 String nativeType,
                                 String targetJdbcTypeName)
Adds a mapping from jdbc type to database-native type. Note that this method accesses the named constant in Types via reflection and is thus safe to use under JDK 1.2/1.3 even with constants defined only in later Java versions - for these, the method simply will not add a mapping.

Parameters:
jdbcTypeName - The jdbc type name, one of the constants defined in Types
nativeType - The native type
targetJdbcTypeName - The jdbc type corresponding to the native type (e.g. when reading the model from the database)

hasNullDefault

public boolean hasNullDefault(int sqlTypeCode)
Determines whether the native type for the given sql type code (one of the Types constants) has a null default value on this platform.

Parameters:
sqlTypeCode - The sql type code
Returns:
true if the native type has a null default value

setHasNullDefault

public void setHasNullDefault(int sqlTypeCode,
                              boolean hasNullDefault)
Specifies whether the native type for the given sql type code (one of the Types constants) has a null default value on this platform.

Parameters:
sqlTypeCode - The sql type code
hasNullDefault - true if the native type has a null default value

hasSize

public boolean hasSize(int sqlTypeCode)
Determines whether the native type for the given sql type code (one of the Types constants) has a size specification on this platform.

Parameters:
sqlTypeCode - The sql type code
Returns:
true if the native type has a size specification

setHasSize

public void setHasSize(int sqlTypeCode,
                       boolean hasSize)
Specifies whether the native type for the given sql type code (one of the Types constants) has a size specification on this platform.

Parameters:
sqlTypeCode - The sql type code
hasSize - true if the native type has a size specification

getDefaultSize

public Integer getDefaultSize(int jdbcTypeCode)
Returns the default size value for the given type, if any.

Parameters:
jdbcTypeCode - The jdbc type code
Returns:
The default size or null if none is defined

setDefaultSize

public void setDefaultSize(int jdbcTypeCode,
                           int defaultSize)
Adds a default size for the given jdbc type.

Parameters:
jdbcTypeCode - The jdbc type code
defaultSize - The default size

setDefaultSize

public void setDefaultSize(String jdbcTypeName,
                           int defaultSize)
Adds a default size for the given jdbc type.

Parameters:
jdbcTypeName - The name of the jdbc type, one of the Types constants
defaultSize - The default size

hasPrecisionAndScale

public boolean hasPrecisionAndScale(int sqlTypeCode)
Determines whether the native type for the given sql type code (one of the Types constants) has precision and scale specifications on this platform.

Parameters:
sqlTypeCode - The sql type code
Returns:
true if the native type has precision and scale specifications

setHasPrecisionAndScale

public void setHasPrecisionAndScale(int sqlTypeCode,
                                    boolean hasPrecisionAndScale)
Specifies whether the native type for the given sql type code (one of the Types constants) has precision and scale specifications on this platform.

Parameters:
sqlTypeCode - The sql type code
hasPrecisionAndScale - true if the native type has precision and scale specifications


Copyright © 2005-2007 Apache Software Foundation. All Rights Reserved.