Class RefTypeCompiler
java.lang.Object
org.apache.derby.impl.sql.compile.BaseTypeCompiler
org.apache.derby.impl.sql.compile.RefTypeCompiler
- All Implemented Interfaces:
TypeCompiler
This class implements TypeCompiler for the SQL REF datatype.
-
Field Summary
Fields inherited from interface org.apache.derby.iapi.sql.compile.TypeCompiler
AVG_OP, BOOLEAN_MAXWIDTH_AS_CHAR, DEFAULT_DECIMAL_PRECISION, DEFAULT_DECIMAL_SCALE, DIVIDE_OP, DOUBLE_MAXWIDTH_AS_CHAR, INT_MAXWIDTH_AS_CHAR, LONGINT_MAXWIDTH_AS_CHAR, MAX_DECIMAL_PRECISION_SCALE, MINUS_OP, MOD_OP, PLUS_OP, REAL_MAXWIDTH_AS_CHAR, SMALLINT_MAXWIDTH_AS_CHAR, SUM_OP, TIMES_OP, TINYINT_MAXWIDTH_AS_CHAR
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
compatible
(TypeId otherType) Tell whether this type is compatible with the given type.boolean
convertible
(TypeId otherType, boolean forDataTypeFunction) Determine if this type can be CONVERTed to some other typeint
Return the maximum width for this data type when cast to a char type.Get the name of the corresponding Java type.Get the name of the interface for this type.(package private) String
Return the method name to get a Derby DataValueDescriptor object of the correct type set to SQL NULL.boolean
storable
(TypeId otherType, ClassFactory cf) Determine if this type can have a value of another type stored into it.Methods inherited from class org.apache.derby.impl.sql.compile.BaseTypeCompiler
dataValueMethodName, generateDataValue, generateNull, getPrimitiveMethodName, getStoredFormatIdFromTypeId, getTypeCompiler, getTypeId, numberConvertible, numberStorable, pushCollationForDataValue, resolveArithmeticOperation, setTypeId, userTypeStorable
-
Constructor Details
-
RefTypeCompiler
public RefTypeCompiler()
-
-
Method Details
-
getCorrespondingPrimitiveTypeName
Description copied from interface:TypeCompiler
Get the name of the corresponding Java type. For numerics and booleans we will get the corresponding Java primitive type. e Each SQL type has a corresponding Java type. When a SQL value is passed to a Java method, it is translated to its corresponding Java type. For example, a SQL Integer will be mapped to a Java int, but a SQL date will be mapped to a java.sql.Date.- Returns:
- The name of the corresponding Java primitive type.
- See Also:
-
getCastToCharWidth
Description copied from interface:TypeCompiler
Return the maximum width for this data type when cast to a char type.- Parameters:
dts
- The associated DataTypeDescriptor for this TypeId.- Returns:
- int The maximum width for this data type when cast to a char type.
- See Also:
-
convertible
Description copied from interface:TypeCompiler
Determine if this type can be CONVERTed to some other type- Parameters:
otherType
- The CompilationType of the other type to compare this type toforDataTypeFunction
- true if this is a type function that requires more liberal behavior (e.g DOUBLE can convert a char but you cannot cast a CHAR to double.- Returns:
- true if the types can be converted, false if conversion is not allowed
- See Also:
-
compatible
Tell whether this type is compatible with the given type.- Parameters:
otherType
- The CompilationType of the other type to compare this type to- Returns:
- true if the types are compatible, false if not compatible
- See Also:
-
storable
Description copied from interface:TypeCompiler
Determine if this type can have a value of another type stored into it. Note that direction is relevant here: the test is that the otherType is storable into this type.- Parameters:
otherType
- The TypeId of the other type to compare this type tocf
- A ClassFactory- Returns:
- true if the other type can be stored in a column of this type.
- See Also:
-
interfaceName
Description copied from interface:TypeCompiler
Get the name of the interface for this type. For example, the interface for a SQLInteger is NumberDataValue. The full path name of the type is returned.- Returns:
- The name of the interface for this type.
- See Also:
-
nullMethodName
String nullMethodName()Description copied from class:BaseTypeCompiler
Return the method name to get a Derby DataValueDescriptor object of the correct type set to SQL NULL. The method named will be called with one argument: a holder object if pushCollationForDataValue() returns false, otherwise two arguments, the second being the collationType.- Specified by:
nullMethodName
in classBaseTypeCompiler
-