| java.lang.Object org.apache.derby.iapi.types.DataTypeDescriptor
DataTypeDescriptor | final public class DataTypeDescriptor implements TypeDescriptor,Formatable(Code) | | This is an implementation of DataTypeDescriptor from the generic language
datatype module interface.
author: Jeff Lichtman version: 1.0 |
Constructor Summary | |
public | DataTypeDescriptor() Public niladic constructor. | public | DataTypeDescriptor(TypeId typeId, int precision, int scale, boolean isNullable, int maximumWidth) | public | DataTypeDescriptor(TypeId typeId, boolean isNullable, int maximumWidth) | public | DataTypeDescriptor(TypeId typeId, boolean isNullable) | public | DataTypeDescriptor(DataTypeDescriptor source, boolean isNullable) | public | DataTypeDescriptor(DataTypeDescriptor source, int precision, int scale, boolean isNullable, int maximumWidth) Constructor for internal uses only. | public | DataTypeDescriptor(DataTypeDescriptor source, boolean isNullable, int maximumWidth) | public | DataTypeDescriptor(TypeDescriptorImpl source, TypeId typeId) |
Method Summary | |
public boolean | equals(Object aTypeDescriptor) | public double | estimatedMemoryUsage() Get the estimated memory usage for this type descriptor. | public static DataTypeDescriptor | getBuiltInDataTypeDescriptor(int jdbcType) Get a descriptor that corresponds to a builtin JDBC type. | public static DataTypeDescriptor | getBuiltInDataTypeDescriptor(int jdbcType, int length) | public static DataTypeDescriptor | getBuiltInDataTypeDescriptor(int jdbcType, boolean isNullable) Get a descriptor that corresponds to a builtin JDBC type. | public static DataTypeDescriptor | getBuiltInDataTypeDescriptor(int jdbcType, boolean isNullable, int maxLength) Get a descriptor that corresponds to a builtin JDBC type. | public static DataTypeDescriptor | getBuiltInDataTypeDescriptor(String sqlTypeName) | public static DataTypeDescriptor | getBuiltInDataTypeDescriptor(String sqlTypeName, int length) | public TypeDescriptorImpl | getCatalogType() Get the simplified type descriptor that is intended to be stored
in the system tables. | public DataTypeDescriptor | getDominantType(DataTypeDescriptor otherDTS, ClassFactory cf) Get the dominant type (DataTypeDescriptor) of the 2. | public int | getJDBCTypeId() Get the jdbc type id for this type. | public int | getMaximumWidth() | public int | getMaximumWidthInBytes() | public DataValueDescriptor | getNull() Get a Null for this type. | public int | getPrecision() Returns the number of decimal digits for the datatype, if applicable.
The number of decimal digits for the datatype. | public static DataTypeDescriptor | getSQLDataTypeDescriptor(String javaTypeName) | public static DataTypeDescriptor | getSQLDataTypeDescriptor(String javaTypeName, boolean isNullable) | public static DataTypeDescriptor | getSQLDataTypeDescriptor(String javaTypeName, int precision, int scale, boolean isNullable, int maximumWidth) | public String | getSQLstring() Converts this data type descriptor (including length/precision)
to a string. | public int | getScale() Returns the number of digits to the right of the decimal for
the datatype, if applicable.
The number of digits to the right of the decimal forthe datatype. | public int | getTypeFormatId() Get the formatID which corresponds to this class. | public TypeId | getTypeId() Gets the TypeId for the datatype. | public String | getTypeName() Gets the name of this datatype. | public static boolean | isAsciiStreamAssignable(int jdbcType) Determine if an ASCII stream can be inserted into a column or parameter
of type jdbcType . | public static boolean | isBinaryStreamAssignable(int jdbcType) Determine if a binary stream can be inserted into a column or parameter
of type jdbcType . | public static boolean | isCharacterStreamAssignable(int jdbcType) Determine if a character stream can be inserted into a column or
parameter of type jdbcType . | public boolean | isExactTypeAndLengthMatch(DataTypeDescriptor otherDTS) Check whether or not the 2 types (DataTypeDescriptor) have the same type
and length.
This is useful for UNION when trying to decide whether a NormalizeResultSet
is required.
Parameters: otherDTS - DataTypeDescriptor to compare with. | public static boolean | isJDBCTypeEquivalent(int existingType, int jdbcTypeId) Compare JdbcTypeIds to determine if they represent equivalent
SQL types. | public boolean | isNullable() Returns TRUE if the datatype can contain NULL, FALSE if not. | public static boolean | isNumericType(int jdbcType) | public DataValueDescriptor | normalize(DataValueDescriptor source, DataValueDescriptor cachedDest) | public void | readExternal(ObjectInput in) Read this object from a stream of stored objects. | public void | setNullability(boolean nullable) | public String | toString() | public void | writeExternal(ObjectOutput out) Write this object to a stream of stored objects. |
DataTypeDescriptor | public DataTypeDescriptor()(Code) | | Public niladic constructor. Needed for Formatable interface to work.
|
DataTypeDescriptor | public DataTypeDescriptor(TypeId typeId, int precision, int scale, boolean isNullable, int maximumWidth)(Code) | | Constructor for use with numeric types
Parameters: typeId - The typeId of the type being described Parameters: precision - The number of decimal digits. Parameters: scale - The number of digits after the decimal point. Parameters: isNullable - TRUE means it could contain NULL, FALSE meansit definitely cannot contain NULL. Parameters: maximumWidth - The maximum number of bytes for this datatype |
DataTypeDescriptor | public DataTypeDescriptor(TypeId typeId, boolean isNullable, int maximumWidth)(Code) | | Constructor for use with non-numeric types
Parameters: typeId - The typeId of the type being described Parameters: isNullable - TRUE means it could contain NULL, FALSE meansit definitely cannot contain NULL. Parameters: maximumWidth - The maximum number of bytes for this datatype |
DataTypeDescriptor | public DataTypeDescriptor(TypeId typeId, boolean isNullable)(Code) | | |
DataTypeDescriptor | public DataTypeDescriptor(DataTypeDescriptor source, int precision, int scale, boolean isNullable, int maximumWidth)(Code) | | Constructor for internal uses only.
(This is useful when the precision and scale are potentially wider than
those in the source, like when determining the dominant data type.)
Parameters: source - The DTSI to copy Parameters: precision - The number of decimal digits. Parameters: scale - The number of digits after the decimal point. Parameters: isNullable - TRUE means it could contain NULL, FALSE meansit definitely cannot contain NULL. Parameters: maximumWidth - The maximum number of bytes for this datatype |
DataTypeDescriptor | public DataTypeDescriptor(DataTypeDescriptor source, boolean isNullable, int maximumWidth)(Code) | | Constructor for internal uses only
Parameters: source - The DTSI to copy Parameters: isNullable - TRUE means it could contain NULL, FALSE meansit definitely cannot contain NULL. Parameters: maximumWidth - The maximum number of bytes for this datatype |
DataTypeDescriptor | public DataTypeDescriptor(TypeDescriptorImpl source, TypeId typeId)(Code) | | Constructor for use in reconstructing a DataTypeDescriptor from a
TypeDescriptorImpl and a TypeId
Parameters: source - The TypeDescriptorImpl to construct this DTSI from |
equals | public boolean equals(Object aTypeDescriptor)(Code) | | Compare if two TypeDescriptors are exactly the same
Parameters: aTypeDescriptor - the typeDescriptor to compare to. |
estimatedMemoryUsage | public double estimatedMemoryUsage()(Code) | | Get the estimated memory usage for this type descriptor.
|
getBuiltInDataTypeDescriptor | public static DataTypeDescriptor getBuiltInDataTypeDescriptor(int jdbcType)(Code) | | Get a descriptor that corresponds to a builtin JDBC type.
Parameters: jdbcType - The int type of the JDBC type for which to geta corresponding SQL DataTypeDescriptor A new DataTypeDescriptor that corresponds to the Java type.A null return value means there is no corresponding SQL type |
getBuiltInDataTypeDescriptor | public static DataTypeDescriptor getBuiltInDataTypeDescriptor(int jdbcType, int length)(Code) | | |
getBuiltInDataTypeDescriptor | public static DataTypeDescriptor getBuiltInDataTypeDescriptor(int jdbcType, boolean isNullable)(Code) | | Get a descriptor that corresponds to a builtin JDBC type.
Parameters: jdbcType - The int type of the JDBC type for which to geta corresponding SQL DataTypeDescriptor Parameters: isNullable - TRUE means it could contain NULL, FALSE meansit definitely cannot contain NULL. A new DataTypeDescriptor that corresponds to the Java type.A null return value means there is no corresponding SQL type |
getBuiltInDataTypeDescriptor | public static DataTypeDescriptor getBuiltInDataTypeDescriptor(int jdbcType, boolean isNullable, int maxLength)(Code) | | Get a descriptor that corresponds to a builtin JDBC type.
Parameters: jdbcType - The int type of the JDBC type for which to geta corresponding SQL DataTypeDescriptor Parameters: isNullable - TRUE means it could contain NULL, FALSE meansit definitely cannot contain NULL. A new DataTypeDescriptor that corresponds to the Java type.A null return value means there is no corresponding SQL type |
getBuiltInDataTypeDescriptor | public static DataTypeDescriptor getBuiltInDataTypeDescriptor(String sqlTypeName)(Code) | | Get a DataTypeServices that corresponds to a builtin SQL type
Parameters: sqlTypeName - The name of the type for which to geta corresponding SQL DataTypeDescriptor A new DataTypeDescriptor that corresponds to the Java type.A null return value means there is no corresponding SQL type (only for 'char') |
getBuiltInDataTypeDescriptor | public static DataTypeDescriptor getBuiltInDataTypeDescriptor(String sqlTypeName, int length)(Code) | | Get a DataTypeServices that corresponds to a builtin SQL type
Parameters: sqlTypeName - The name of the type for which to geta corresponding SQL DataTypeDescriptor A new DataTypeDescriptor that corresponds to the Java type.A null return value means there is no corresponding SQL type (only for 'char') |
getCatalogType | public TypeDescriptorImpl getCatalogType()(Code) | | Get the simplified type descriptor that is intended to be stored
in the system tables.
|
getDominantType | public DataTypeDescriptor getDominantType(DataTypeDescriptor otherDTS, ClassFactory cf) throws StandardException(Code) | | Get the dominant type (DataTypeDescriptor) of the 2.
For variable length types, the resulting type will have the
biggest max length of the 2.
If either side is nullable, then the result will also be nullable.
Parameters: otherDTS - DataTypeDescriptor to compare with. Parameters: cf - A ClassFactory DataTypeDescriptor DTS for dominant type exception: StandardException - Thrown on error |
getJDBCTypeId | public int getJDBCTypeId()(Code) | | Get the jdbc type id for this type. JDBC type can be
found in java.sql.Types.
a jdbc type, e.g. java.sql.Types.DECIMAL See Also: Types |
getPrecision | public int getPrecision()(Code) | | Returns the number of decimal digits for the datatype, if applicable.
The number of decimal digits for the datatype. Returnszero for non-numeric datatypes. |
getSQLDataTypeDescriptor | public static DataTypeDescriptor getSQLDataTypeDescriptor(String javaTypeName)(Code) | | Get a DataTypeServices that corresponds to a Java type
Parameters: javaTypeName - The name of the Java type for which to geta corresponding SQL DataTypeDescriptor A new DataTypeDescriptor that corresponds to the Java type.A null return value means there is no corresponding SQL type (only for 'char') |
getSQLDataTypeDescriptor | public static DataTypeDescriptor getSQLDataTypeDescriptor(String javaTypeName, boolean isNullable)(Code) | | Get a DataTypeServices that corresponds to a Java type
Parameters: javaTypeName - The name of the Java type for which to geta corresponding SQL DataTypeDescriptor Parameters: isNullable - TRUE means it could contain NULL, FALSE meansit definitely cannot contain NULL. A new DataTypeDescriptor that corresponds to the Java type.A null return value means there is no corresponding SQL type (only for 'char') |
getSQLDataTypeDescriptor | public static DataTypeDescriptor getSQLDataTypeDescriptor(String javaTypeName, int precision, int scale, boolean isNullable, int maximumWidth)(Code) | | Get a DataTypeDescriptor that corresponds to a Java type
Parameters: javaTypeName - The name of the Java type for which to geta corresponding SQL DataTypeDescriptor Parameters: precision - The number of decimal digits Parameters: scale - The number of digits after the decimal point Parameters: isNullable - TRUE means it could contain NULL, FALSE meansit definitely cannot contain NULL. Parameters: maximumWidth - The maximum width of a data valuerepresented by this type. A new DataTypeDescriptor that corresponds to the Java type.A null return value means there is no corresponding SQL type. |
getSQLstring | public String getSQLstring()(Code) | | Converts this data type descriptor (including length/precision)
to a string. E.g.
VARCHAR(30)
or
java.util.Hashtable
String version of datatype, suitable for running throughthe Parser. |
getScale | public int getScale()(Code) | | Returns the number of digits to the right of the decimal for
the datatype, if applicable.
The number of digits to the right of the decimal forthe datatype. Returns zero for non-numeric datatypes. |
getTypeFormatId | public int getTypeFormatId()(Code) | | Get the formatID which corresponds to this class.
the formatID of this class |
getTypeId | public TypeId getTypeId()(Code) | | Gets the TypeId for the datatype.
The TypeId for the datatype. |
getTypeName | public String getTypeName()(Code) | | Gets the name of this datatype.
the name of this datatype |
isAsciiStreamAssignable | public static boolean isAsciiStreamAssignable(int jdbcType)(Code) | | Determine if an ASCII stream can be inserted into a column or parameter
of type jdbcType .
Parameters: jdbcType - JDBC type of column or parameter true if an ASCII stream can be inserted;false otherwise |
isBinaryStreamAssignable | public static boolean isBinaryStreamAssignable(int jdbcType)(Code) | | Determine if a binary stream can be inserted into a column or parameter
of type jdbcType .
Parameters: jdbcType - JDBC type of column or parameter true if a binary stream can be inserted;false otherwise |
isCharacterStreamAssignable | public static boolean isCharacterStreamAssignable(int jdbcType)(Code) | | Determine if a character stream can be inserted into a column or
parameter of type jdbcType .
Parameters: jdbcType - JDBC type of column or parameter true if a character stream can be inserted;false otherwise |
isExactTypeAndLengthMatch | public boolean isExactTypeAndLengthMatch(DataTypeDescriptor otherDTS)(Code) | | Check whether or not the 2 types (DataTypeDescriptor) have the same type
and length.
This is useful for UNION when trying to decide whether a NormalizeResultSet
is required.
Parameters: otherDTS - DataTypeDescriptor to compare with. boolean Whether or not the 2 DTSs have the same type and length. |
isJDBCTypeEquivalent | public static boolean isJDBCTypeEquivalent(int existingType, int jdbcTypeId)(Code) | | Compare JdbcTypeIds to determine if they represent equivalent
SQL types. For example Types.NUMERIC and Types.DECIMAL are
equivalent
Parameters: existingType - JDBC type id of Cloudscape data type Parameters: jdbcTypeId - JDBC type id passed in from application. boolean true if types are equivalent, false if not |
isNullable | public boolean isNullable()(Code) | | Returns TRUE if the datatype can contain NULL, FALSE if not.
JDBC supports a return value meaning "nullability unknown" -
I assume we will never have columns where the nullability is unknown.
TRUE if the datatype can contain NULL, FALSE if not. |
isNumericType | public static boolean isNumericType(int jdbcType)(Code) | | |
setNullability | public void setNullability(boolean nullable)(Code) | | Set the nullability of the datatype described by this descriptor
Parameters: nullable - TRUE means set nullability to TRUE, FALSEmeans set it to FALSE |
writeExternal | public void writeExternal(ObjectOutput out) throws IOException(Code) | | Write this object to a stream of stored objects.
Parameters: out - write bytes here. exception: IOException - thrown on error |
|
|