|
|||||||||
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.NumericTypeCompiler
public final class NumericTypeCompiler
This class implements TypeId for the SQL numeric 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 | |
---|---|
NumericTypeCompiler()
|
Method Summary | |
---|---|
boolean |
compatible(TypeId otherType)
Tell whether this type (numeric) is compatible with the given type. |
boolean |
convertible(TypeId otherType,
boolean forDataTypeFunction)
Determine if this type can be CONVERTed to some other type |
(package private) java.lang.String |
dataValueMethodName()
Return the method name to get a Derby DataValueDescriptor object of the correct type. |
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. |
private int |
getPrecision(java.lang.String operator,
DataTypeDescriptor leftType,
DataTypeDescriptor rightType)
Get the precision of the operation involving two of the same types. |
java.lang.String |
getPrimitiveMethodName()
Get the method name for getting out the corresponding primitive Java type. |
private int |
getScale(java.lang.String operator,
DataTypeDescriptor leftType,
DataTypeDescriptor rightType)
Get the scale of the operation involving two of the same types. |
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. |
DataTypeDescriptor |
resolveArithmeticOperation(DataTypeDescriptor leftType,
DataTypeDescriptor rightType,
java.lang.String operator)
Type resolution methods on binary operators |
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 |
---|
generateNull, getStoredFormatIdFromTypeId, getTypeCompiler, getTypeId, numberConvertible, numberStorable, pushCollationForDataValue, setTypeId, userTypeStorable |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public NumericTypeCompiler()
Method Detail |
---|
public java.lang.String interfaceName()
TypeCompiler
TypeCompiler.interfaceName()
public java.lang.String getCorrespondingPrimitiveTypeName()
TypeCompiler
TypeCompiler.getCorrespondingPrimitiveTypeName()
public java.lang.String getPrimitiveMethodName()
getPrimitiveMethodName
in interface TypeCompiler
getPrimitiveMethodName
in class BaseTypeCompiler
public int getCastToCharWidth(DataTypeDescriptor dts)
TypeCompiler
dts
- The associated DataTypeDescriptor for this TypeId.
TypeCompiler.getCastToCharWidth(org.apache.derby.iapi.types.DataTypeDescriptor)
public DataTypeDescriptor resolveArithmeticOperation(DataTypeDescriptor leftType, DataTypeDescriptor rightType, java.lang.String operator) throws StandardException
TypeCompiler
resolveArithmeticOperation
in interface TypeCompiler
resolveArithmeticOperation
in class BaseTypeCompiler
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 boolean convertible(TypeId otherType, boolean forDataTypeFunction)
TypeCompiler
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)
TypeCompiler
otherType
- The TypeId of the other type to compare this type tocf
- A ClassFactory
TypeCompiler.storable(org.apache.derby.iapi.types.TypeId, org.apache.derby.iapi.services.loader.ClassFactory)
java.lang.String dataValueMethodName()
dataValueMethodName
in class BaseTypeCompiler
java.lang.String nullMethodName()
BaseTypeCompiler
nullMethodName
in class BaseTypeCompiler
private int getPrecision(java.lang.String operator, DataTypeDescriptor leftType, DataTypeDescriptor rightType)
operator
- a string representing the operator,
null means no operator, just a type mergeleftType
- the left typerightType
- the left type
private int getScale(java.lang.String operator, DataTypeDescriptor leftType, DataTypeDescriptor rightType)
operator
- a string representing the operator,
null means no operator, just a type mergeleftType
- the left typerightType
- the left type
public void generateDataValue(MethodBuilder mb, int collationType, LocalField field)
BaseTypeCompiler
generateDataValue
in interface TypeCompiler
generateDataValue
in class BaseTypeCompiler
mb
- 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)
|
Built on Thu 2011-03-10 11:54:14+0000, from revision ??? | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |