|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.impl.sql.compile.BaseTypeCompiler
org.apache.derby.impl.sql.compile.UserDefinedTypeCompiler
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 | |
UserDefinedTypeCompiler()
|
Method Summary | |
boolean |
comparable(TypeId otherType,
boolean forEquals,
ClassFactory cf)
User types are comparable to other user types only if (for now) they are the same type and are being used to implement some JDBC type. |
boolean |
compatible(TypeId otherType)
Determine if this type is compatible to some other type (e.g. |
boolean |
convertible(TypeId otherType,
boolean forDataTypeFunction)
User types are convertible to other user types only if (for now) they are the same type and are being used to implement some JDBC type. |
protected java.lang.String |
dataValueMethodName()
Return the method name to get a Derby DataValueDescriptor object of the correct type. |
void |
generateDataValue(MethodBuilder mb,
LocalField field)
Generate the code necessary to produce a SQL value based on a value. |
void |
generateNull(MethodBuilder mb)
Generate the code necessary to produce a SQL null of the appropriate type. |
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 |
getMatchingNationalCharTypeName()
Get the name of the matching national char type. |
java.lang.String |
getPrimitiveMethodName()
Get the method name for getting out the corresponding primitive Java type. |
protected int |
getStoredFormatIdFromTypeId()
Get the StoredFormatId from the corresponding TypeId. |
protected TypeCompiler |
getTypeCompiler(TypeId typeId)
Get the TypeCompiler that corresponds to the given TypeId. |
protected TypeId |
getTypeId()
Get the TypeId that corresponds to this TypeCompiler. |
java.lang.String |
interfaceName()
Get the name of the interface for this type. |
protected java.lang.String |
nullMethodName()
|
boolean |
numberComparable(TypeId otherType,
boolean forEquals,
ClassFactory cf)
Tell whether this numeric type can be compared to the given type. |
boolean |
numberConvertible(TypeId otherType,
boolean forDataTypeFunction)
Tell whether this numeric type can be converted to the given type. |
boolean |
numberStorable(TypeId thisType,
TypeId otherType,
ClassFactory cf)
Tell whether this numeric type can be stored into from the given type. |
DataTypeDescriptor |
resolveArithmeticOperation(DataTypeDescriptor leftType,
DataTypeDescriptor rightType,
java.lang.String operator)
Type resolution methods on binary operators |
(package private) void |
setTypeId(TypeId typeId)
Set the TypeCompiler that corresponds to the given TypeId. |
boolean |
storable(TypeId otherType,
ClassFactory cf)
User types are storable into other user types that they are assignable to. |
protected boolean |
userTypeStorable(TypeId thisType,
TypeId otherType,
ClassFactory cf)
Determine whether thisType is storable in otherType due to otherType being a user type. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public UserDefinedTypeCompiler()
Method Detail |
public boolean comparable(TypeId otherType, boolean forEquals, ClassFactory cf)
otherType
- the type of the instance to compare with this type.forEquals
- True if this is an = or <> comparison, false
otherwise.cf
- A ClassFactory
public boolean convertible(TypeId otherType, boolean forDataTypeFunction)
otherType
- forDataTypeFunction
-
TypeCompiler.convertible(org.apache.derby.iapi.types.TypeId, boolean)
public boolean compatible(TypeId otherType)
TypeCompiler
otherType
- The CompilationType of the other type to compare
this type to
TypeCompiler.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 ClassFactory
public java.lang.String interfaceName()
TypeCompiler
TypeCompiler.interfaceName()
public java.lang.String getCorrespondingPrimitiveTypeName()
TypeCompiler
TypeCompiler.getCorrespondingPrimitiveTypeName()
public int getCastToCharWidth(DataTypeDescriptor dts)
TypeCompiler
dts
- The associated DataTypeDescriptor for this TypeId.
TypeCompiler.getCastToCharWidth(org.apache.derby.iapi.types.DataTypeDescriptor)
protected java.lang.String nullMethodName()
nullMethodName
in class BaseTypeCompiler
public void generateDataValue(MethodBuilder mb, LocalField field)
TypeCompiler
generateDataValue
in interface TypeCompiler
generateDataValue
in class BaseTypeCompiler
TypeCompiler.generateDataValue(org.apache.derby.iapi.services.compiler.MethodBuilder, org.apache.derby.iapi.services.compiler.LocalField)
public java.lang.String getPrimitiveMethodName()
getPrimitiveMethodName
in interface TypeCompiler
public java.lang.String getMatchingNationalCharTypeName()
TypeCompiler
getMatchingNationalCharTypeName
in interface TypeCompiler
TypeCompiler.getMatchingNationalCharTypeName()
public DataTypeDescriptor resolveArithmeticOperation(DataTypeDescriptor leftType, DataTypeDescriptor rightType, java.lang.String operator) throws StandardException
TypeCompiler
resolveArithmeticOperation
in interface TypeCompiler
leftType
- The type of the left parameterrightType
- The type of the right parameteroperator
- The name of the operator (e.g. "+").
StandardException
- Thrown on errorTypeCompiler.resolveArithmeticOperation(org.apache.derby.iapi.types.DataTypeDescriptor, org.apache.derby.iapi.types.DataTypeDescriptor, java.lang.String)
public void generateNull(MethodBuilder mb)
TypeCompiler
generateNull
in interface TypeCompiler
mb
- The method to put the expression inTypeCompiler.generateNull(org.apache.derby.iapi.services.compiler.MethodBuilder)
protected java.lang.String dataValueMethodName()
protected boolean userTypeStorable(TypeId thisType, TypeId otherType, ClassFactory cf)
thisType
- The TypeId of the value to be storedotherType
- The TypeId of the value to be stored in
public boolean numberComparable(TypeId otherType, boolean forEquals, ClassFactory cf)
otherType
- The TypeId of the other type.public boolean numberConvertible(TypeId otherType, boolean forDataTypeFunction)
otherType
- The TypeId of the other type.forDataTypeFunction
- was this called from a scalarFunction like
CHAR() or DOUBLE()public boolean numberStorable(TypeId thisType, TypeId otherType, ClassFactory cf)
thisType
- The TypeId of this typeotherType
- The TypeId of the other type.cf
- A ClassFactoryprotected TypeId getTypeId()
protected TypeCompiler getTypeCompiler(TypeId typeId)
void setTypeId(TypeId typeId)
protected int getStoredFormatIdFromTypeId()
|
Built on Tue 2006-10-10 19:23:47+0200, from revision exported | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |