|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.ddlutils.PlatformInfo
public class PlatformInfo
Conatains information about the database platform such as supported features and native type mappings.
Constructor Summary | |
---|---|
PlatformInfo()
Creates a new platform info object. |
Method Summary | |
---|---|
void |
addNativeTypeMapping(int jdbcTypeCode,
java.lang.String nativeType)
Adds a mapping from jdbc type to database-native type. |
void |
addNativeTypeMapping(int jdbcTypeCode,
java.lang.String nativeType,
int targetJdbcTypeCode)
Adds a mapping from jdbc type to database-native type. |
void |
addNativeTypeMapping(java.lang.String jdbcTypeName,
java.lang.String nativeType)
Adds a mapping from jdbc type to database-native type. |
void |
addNativeTypeMapping(java.lang.String jdbcTypeName,
java.lang.String nativeType,
java.lang.String targetJdbcTypeName)
Adds a mapping from jdbc type to database-native type. |
java.lang.String |
getCommentPrefix()
Returns the string that denotes the beginning of a comment. |
java.lang.String |
getCommentSuffix()
Returns the string that denotes the end of a comment. |
java.lang.Integer |
getDefaultSize(int jdbcTypeCode)
Returns the default size value for the given type, if any. |
java.lang.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. |
java.lang.String |
getNativeType(int typeCode)
Returns the database-native type for the given type code. |
java.lang.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. |
java.lang.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(java.lang.String commentPrefix)
Sets the text that starts a comment. |
void |
setCommentSuffix(java.lang.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(java.lang.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(java.lang.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(java.lang.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(java.lang.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 |
---|
public PlatformInfo()
Method Detail |
---|
public boolean isNullAsDefaultValueRequired()
true
if NULL must be written for empty default valuespublic void setNullAsDefaultValueRequired(boolean requiresNullAsDefaultValue)
requiresNullAsDefaultValue
- Whether NULL must be written for empty
default valuespublic boolean isDefaultValuesForLongTypesSupported()
true
if default values are allowedpublic void setDefaultValuesForLongTypesSupported(boolean isSupported)
isSupported
- true
if default values are supportedpublic boolean isPrimaryKeyEmbedded()
true
if pk constraints are embeddedpublic void setPrimaryKeyEmbedded(boolean primaryKeyEmbedded)
primaryKeyEmbedded
- Whether pk constraints are embeddedpublic boolean isForeignKeysEmbedded()
true
if fk constraints are embeddedpublic void setForeignKeysEmbedded(boolean foreignKeysEmbedded)
foreignKeysEmbedded
- Whether fk constraints are embeddedpublic boolean isEmbeddedForeignKeysNamed()
true
if embedded fks have namepublic void setEmbeddedForeignKeysNamed(boolean embeddedForeignKeysNamed)
embeddedForeignKeysNamed
- Whether embedded fks shall have a namepublic boolean isIndicesSupported()
true
if indices are supportedpublic void setIndicesSupported(boolean supportingIndices)
supportingIndices
- true
if indices are supportedpublic boolean isIndicesEmbedded()
true
if indices are embeddedpublic void setIndicesEmbedded(boolean indicesEmbedded)
indicesEmbedded
- Whether indices are embeddedpublic boolean isNonPKIdentityColumnsSupported()
true
if normal non-PK columns can be auto-incrementingpublic void setNonPKIdentityColumnsSupported(boolean supportingNonPKIdentityColumns)
supportingNonPKIdentityColumns
- true
if normal non-PK columns can
be auto-incrementingpublic boolean isDefaultValueUsedForIdentitySpec()
true
if the auto-increment spec is done via the DEFAULT valuepublic void setDefaultValueUsedForIdentitySpec(boolean identitySpecUsesDefaultValue)
identitySpecUsesDefaultValue
- true
if the auto-increment spec is
done via the DEFAULT valuepublic boolean isSystemIndicesReturned()
true
if system indices are read from a live databasepublic void setSystemIndicesReturned(boolean returningSystemIndices)
returningSystemIndices
- true
if system indices are read from
a live databasepublic boolean isSystemForeignKeyIndicesAlwaysNonUnique()
true
if system foreign key indices are always non-unique;
default is false
public void setSystemForeignKeyIndicesAlwaysNonUnique(boolean alwaysNonUnique)
alwaysNonUnique
- true
if system foreign key indices are always
non-uniquepublic boolean isSyntheticDefaultValueForRequiredReturned()
true
if synthetic default values are returned for non-identity
required columnspublic void setSyntheticDefaultValueForRequiredReturned(boolean returningDefaultValue)
returningDefaultValue
- true
if synthetic default values are returned for
non-identity required columnspublic boolean getIdentityStatusReadingSupported()
true
if the auto-increment status can be determined from an existing
databasepublic void setIdentityStatusReadingSupported(boolean canReadAutoIncrementStatus)
canReadAutoIncrementStatus
- true
if the auto-increment status can be
determined from an existing databasepublic boolean isSqlCommentsSupported()
true
if comments are supportedpublic void setSqlCommentsSupported(boolean commentsSupported)
commentsSupported
- true
if comments are supportedpublic boolean isDelimitedIdentifiersSupported()
true
if delimited identifiers are supportedpublic void setDelimitedIdentifiersSupported(boolean areSupported)
areSupported
- true
if delimited identifiers are supportedpublic boolean isAlterTableForDropUsed()
true
if ALTER TABLE is requiredpublic void setAlterTableForDropUsed(boolean useAlterTableForDrop)
useAlterTableForDrop
- Whether ALTER TABLE will be usedpublic boolean isIdentityOverrideAllowed()
true
if values for identity columns can be specifiedpublic void setIdentityOverrideAllowed(boolean identityOverrideAllowed)
identityOverrideAllowed
- true
if values for identity columns can be specifiedpublic boolean isLastIdentityValueReadable()
true
if the identity column(s) can be read backpublic void setLastIdentityValueReadable(boolean lastIdentityValueReadable)
lastIdentityValueReadable
- true
if the identity column(s) can be read backpublic boolean isAutoCommitModeForLastIdentityValueReading()
true
if auto-commit mode is usedpublic void setAutoCommitModeForLastIdentityValueReading(boolean autoCommitModeForLastIdentityValueReading)
autoCommitModeForLastIdentityValueReading
- true
if auto-commit mode
shall be usedpublic int getMaxTableNameLength()
public int getMaxColumnNameLength()
public int getMaxConstraintNameLength()
public int getMaxForeignKeyNameLength()
public void setMaxIdentifierLength(int maxIdentifierLength)
maxIdentifierLength
- The maximum identifier length, -1 if unlimitedpublic void setMaxTableNameLength(int maxTableNameLength)
maxTableNameLength
- The maximum length, -1 if unlimitedpublic void setMaxColumnNameLength(int maxColumnNameLength)
maxColumnNameLength
- The maximum length, -1 if unlimitedpublic void setMaxConstraintNameLength(int maxConstraintNameLength)
maxConstraintNameLength
- The maximum length, -1 if unlimitedpublic void setMaxForeignKeyNameLength(int maxForeignKeyNameLength)
maxForeignKeyNameLength
- The maximum length, -1 if unlimitedpublic java.lang.String getDelimiterToken()
public void setDelimiterToken(java.lang.String delimiterToken)
delimiterToken
- The delimiter textpublic java.lang.String getValueQuoteToken()
public void setValueQuoteToken(java.lang.String valueQuoteChar)
valueQuoteChar
- The new quote textpublic java.lang.String getCommentPrefix()
public void setCommentPrefix(java.lang.String commentPrefix)
commentPrefix
- The new comment prefixpublic java.lang.String getCommentSuffix()
public void setCommentSuffix(java.lang.String commentSuffix)
commentSuffix
- The new comment suffixpublic java.lang.String getSqlCommandDelimiter()
public void setSqlCommandDelimiter(java.lang.String sqlCommandDelimiter)
sqlCommandDelimiter
- The delimiter textpublic java.lang.String getNativeType(int typeCode)
typeCode
- The Types
type code
null
if there isn't one definedpublic int getTargetJdbcType(int typeCode)
BIT
or BOOLEAN
, and the target jdbc type might
be TINYINT
or SMALLINT
.
typeCode
- The Types
type code
public void addNativeTypeMapping(int jdbcTypeCode, java.lang.String nativeType)
jdbcTypeCode
- The jdbc type code as defined by Types
nativeType
- The native typepublic void addNativeTypeMapping(int jdbcTypeCode, java.lang.String nativeType, int targetJdbcTypeCode)
jdbcTypeCode
- The jdbc type code as defined by Types
nativeType
- The native typetargetJdbcTypeCode
- The jdbc type code corresponding to the native type
(e.g. when reading the model from the database)public void addNativeTypeMapping(java.lang.String jdbcTypeName, java.lang.String nativeType)
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.
jdbcTypeName
- The jdbc type name, one of the constants defined in
Types
nativeType
- The native typepublic void addNativeTypeMapping(java.lang.String jdbcTypeName, java.lang.String nativeType, java.lang.String targetJdbcTypeName)
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.
jdbcTypeName
- The jdbc type name, one of the constants defined
in Types
nativeType
- The native typetargetJdbcTypeName
- The jdbc type corresponding to the native type
(e.g. when reading the model from the database)public boolean hasNullDefault(int sqlTypeCode)
Types
constants) has a null default value on this platform.
sqlTypeCode
- The sql type code
true
if the native type has a null default valuepublic void setHasNullDefault(int sqlTypeCode, boolean hasNullDefault)
Types
constants) has a null default value on this platform.
sqlTypeCode
- The sql type codehasNullDefault
- true
if the native type has a null default valuepublic boolean hasSize(int sqlTypeCode)
Types
constants) has a size specification on this platform.
sqlTypeCode
- The sql type code
true
if the native type has a size specificationpublic void setHasSize(int sqlTypeCode, boolean hasSize)
Types
constants) has a size specification on this platform.
sqlTypeCode
- The sql type codehasSize
- true
if the native type has a size specificationpublic java.lang.Integer getDefaultSize(int jdbcTypeCode)
jdbcTypeCode
- The jdbc type code
null
if none is definedpublic void setDefaultSize(int jdbcTypeCode, int defaultSize)
jdbcTypeCode
- The jdbc type codedefaultSize
- The default sizepublic void setDefaultSize(java.lang.String jdbcTypeName, int defaultSize)
jdbcTypeName
- The name of the jdbc type, one of the Types
constantsdefaultSize
- The default sizepublic boolean hasPrecisionAndScale(int sqlTypeCode)
Types
constants) has precision and scale specifications on
this platform.
sqlTypeCode
- The sql type code
true
if the native type has precision and scale specificationspublic void setHasPrecisionAndScale(int sqlTypeCode, boolean hasPrecisionAndScale)
Types
constants) has precision and scale specifications on
this platform.
sqlTypeCode
- The sql type codehasPrecisionAndScale
- true
if the native type has precision and scale specifications
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |