|
||||||||||
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.CharTypeCompiler
This class implements TypeCompiler for the SQL char datatypes.
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 | |
CharTypeCompiler()
|
Method Summary | |
boolean |
comparable(TypeId otherType,
boolean forEquals,
ClassFactory cf)
Tell whether this type (char) can be compared to the given type. |
boolean |
compatible(TypeId otherType)
Tell whether this type (char) is compatible with the given type. |
boolean |
convertible(TypeId otherType,
boolean forDataTypeFunction)
Tell whether this type (char) can be converted to the given 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)
Tell whether this type (char) can be stored into from the given type. |
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 CharTypeCompiler()
Method Detail |
public boolean comparable(TypeId otherType, boolean forEquals, ClassFactory cf)
otherType
- The TypeId of the other type.forEquals
- True if this is an = or <> comparison, false otherwise.cf
- A ClassFactory
public boolean convertible(TypeId otherType, boolean forDataTypeFunction)
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.
TypeCompiler.convertible(org.apache.derby.iapi.types.TypeId, boolean)
public boolean compatible(TypeId otherType)
otherType
- The TypeId of the other type.
public boolean storable(TypeId otherType, ClassFactory cf)
otherType
- The TypeId of the other 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)
public java.lang.String getMatchingNationalCharTypeName()
TypeCompiler
getMatchingNationalCharTypeName
in interface TypeCompiler
getMatchingNationalCharTypeName
in class BaseTypeCompiler
TypeCompiler.getMatchingNationalCharTypeName()
protected java.lang.String nullMethodName()
nullMethodName
in class BaseTypeCompiler
protected java.lang.String dataValueMethodName()
BaseTypeCompiler
dataValueMethodName
in class BaseTypeCompiler
public java.lang.String getPrimitiveMethodName()
getPrimitiveMethodName
in interface TypeCompiler
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)
public void generateDataValue(MethodBuilder mb, LocalField field)
TypeCompiler
generateDataValue
in interface TypeCompiler
TypeCompiler.generateDataValue(org.apache.derby.iapi.services.compiler.MethodBuilder, org.apache.derby.iapi.services.compiler.LocalField)
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 |