|
||||||||||
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
This class implements TypeId for the SQL numeric datatype.
Field Summary |
Fields inherited from class org.apache.derby.impl.sql.compile.BaseTypeCompiler |
correspondingTypeId |
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 |
comparable(TypeId otherType,
boolean forEquals,
ClassFactory cf)
Determine if this type can be compared to some other type |
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 |
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. |
protected java.lang.String |
nullMethodName()
|
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 |
dataValueMethodName, generateDataValue, generateNull, getMatchingNationalCharTypeName, getStoredFormatIdFromTypeId, getTypeCompiler, getTypeId, numberComparable, numberConvertible, numberStorable, 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
StandardException
- Thrown on errorTypeCompiler.resolveArithmeticOperation(org.apache.derby.iapi.types.DataTypeDescriptor, org.apache.derby.iapi.types.DataTypeDescriptor, java.lang.String)
public boolean comparable(TypeId otherType, boolean forEquals, ClassFactory cf)
TypeCompiler
otherType
- The CompilationType of the other type to compare
this type toforEquals
- True if this is an = or <> comparison, false otherwise.cf
- A ClassFactory
TypeCompiler.comparable(org.apache.derby.iapi.types.TypeId, boolean, org.apache.derby.iapi.services.loader.ClassFactory)
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)
protected java.lang.String nullMethodName()
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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |