public class UserDefinedTypeCompiler extends BaseTypeCompiler
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 and Description |
|---|
UserDefinedTypeCompiler() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
compatible(TypeId otherType)
Determine if this type is compatible to some other type
(e.g.
|
boolean |
convertible(TypeId otherType,
boolean forDataTypeFunction)
Right now, casting is not allowed from one user defined type
to another.
|
void |
generateDataValue(MethodBuilder mb,
int collationType,
LocalField field)
The caller will have pushed a DataValueFactory and value
of that can be converted to the correct type, e.g. int
for a SQL INTEGER.
|
int |
getCastToCharWidth(DataTypeDescriptor dts)
Return the maximum width for this data type when cast to a char type.
|
java.lang.String |
getCorrespondingPrimitiveTypeName()
Get the name of the corresponding Java type.
|
java.lang.String |
interfaceName()
Get the name of the interface for this type.
|
(package private) java.lang.String |
nullMethodName()
Return the method name to get a Derby DataValueDescriptor
object of the correct type set to SQL NULL.
|
boolean |
storable(TypeId otherType,
ClassFactory cf)
ANSI UDTs can only be stored into values of exactly their own
type.
|
dataValueMethodName, generateNull, getPrimitiveMethodName, getStoredFormatIdFromTypeId, getTypeCompiler, getTypeId, numberConvertible, numberStorable, pushCollationForDataValue, resolveArithmeticOperation, setTypeId, userTypeStorablepublic boolean convertible(TypeId otherType, boolean forDataTypeFunction)
otherType - forDataTypeFunction - TypeCompiler.convertible(org.apache.derby.iapi.types.TypeId, boolean)public boolean compatible(TypeId otherType)
TypeCompilerotherType - The CompilationType of the other type to compare
this type toTypeCompiler.compatible(org.apache.derby.iapi.types.TypeId)public boolean storable(TypeId otherType, ClassFactory cf)
otherType - the type of the instance to store into this type.cf - A ClassFactorypublic java.lang.String interfaceName()
TypeCompilerTypeCompiler.interfaceName()public java.lang.String getCorrespondingPrimitiveTypeName()
TypeCompilerTypeCompiler.getCorrespondingPrimitiveTypeName()public int getCastToCharWidth(DataTypeDescriptor dts)
TypeCompilerdts - The associated DataTypeDescriptor for this TypeId.TypeCompiler.getCastToCharWidth(org.apache.derby.iapi.types.DataTypeDescriptor)java.lang.String nullMethodName()
BaseTypeCompilernullMethodName in class BaseTypeCompilerpublic void generateDataValue(MethodBuilder mb, int collationType, LocalField field)
BaseTypeCompilergenerateDataValue in interface TypeCompilergenerateDataValue in class BaseTypeCompilermb - The method to put the expression incollationType - For character DVDs, this will be used to determine
what Collator should be associated with the DVD which in turn will
decide whether to generate CollatorSQLcharDVDs or SQLcharDVDs. For
other types of DVDs, this parameter will be ignored.field - LocalFieldTypeCompiler.generateDataValue(MethodBuilder, int, LocalField)Apache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.