org.apache.derby.impl.sql.compile
Class CharTypeCompiler

java.lang.Object
  extended byorg.apache.derby.impl.sql.compile.BaseTypeCompiler
      extended byorg.apache.derby.impl.sql.compile.CharTypeCompiler
All Implemented Interfaces:
TypeCompiler

public final class CharTypeCompiler
extends BaseTypeCompiler

This class implements TypeCompiler for the SQL char datatypes.

Author:
Jeff Lichtman

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
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()
           
 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 interfaceName()
          Get the name of the interface for this type.
protected  java.lang.String nullMethodName()
           
 boolean storable(TypeId otherType, ClassFactory cf)
          Tell whether this type (char) can be stored into from the given type.
 
Methods inherited from class org.apache.derby.impl.sql.compile.BaseTypeCompiler
generateDataValue, generateNull, getPrimitiveMethodName, getStoredFormatIdFromTypeId, getTypeCompiler, getTypeId, numberComparable, numberConvertible, numberStorable, resolveArithmeticOperation, setTypeId, userTypeStorable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CharTypeCompiler

public CharTypeCompiler()
Method Detail

comparable

public boolean comparable(TypeId otherType,
                          boolean forEquals,
                          ClassFactory cf)
Tell whether this type (char) can be compared to the given type. Long types can not be compared. VARCHAR AND CHAR can be compared to CHAR/VARCHAR/DATE/TIME/TIMESTAMP

Parameters:
otherType - The TypeId of the other type.
forEquals - True if this is an = or <> comparison, false otherwise.
cf - A ClassFactory
Returns:
true if the types can be compared, false if comparisons between the types are not allowed

convertible

public boolean convertible(TypeId otherType,
                           boolean forDataTypeFunction)
Tell whether this type (char) can be converted to the given type.

Parameters:
otherType - The CompilationType of the other type to compare this type to
forDataTypeFunction - 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.
Returns:
true if the types can be converted, false if conversion is not allowed
See Also:
TypeCompiler.convertible(org.apache.derby.iapi.types.TypeId, boolean)

compatible

public boolean compatible(TypeId otherType)
Tell whether this type (char) is compatible with the given type.

Parameters:
otherType - The TypeId of the other type.
Returns:
true if the types are compatible, false if not compatible

storable

public boolean storable(TypeId otherType,
                        ClassFactory cf)
Tell whether this type (char) can be stored into from the given type.

Parameters:
otherType - The TypeId of the other type.
cf - A ClassFactory
Returns:
true if the other type can be stored in a column of this type.

interfaceName

public java.lang.String interfaceName()
Description copied from interface: TypeCompiler
Get the name of the interface for this type. For example, the interface for a SQLInteger is NumberDataValue. The full path name of the type is returned.

Returns:
The name of the interface for this type.
See Also:
TypeCompiler.interfaceName()

getCorrespondingPrimitiveTypeName

public java.lang.String getCorrespondingPrimitiveTypeName()
Description copied from interface: TypeCompiler
Get the name of the corresponding Java type. For numerics and booleans we will get the corresponding Java primitive type. e Each SQL type has a corresponding Java type. When a SQL value is passed to a Java method, it is translated to its corresponding Java type. For example, a SQL Integer will be mapped to a Java int, but a SQL date will be mapped to a java.sql.Date.

Returns:
The name of the corresponding Java primitive type.
See Also:
TypeCompiler.getCorrespondingPrimitiveTypeName()

getCastToCharWidth

public int getCastToCharWidth(DataTypeDescriptor dts)
Description copied from interface: TypeCompiler
Return the maximum width for this data type when cast to a char type.

Parameters:
dts - The associated DataTypeDescriptor for this TypeId.
Returns:
int The maximum width for this data type when cast to a char type.
See Also:
TypeCompiler.getCastToCharWidth(org.apache.derby.iapi.types.DataTypeDescriptor)

getMatchingNationalCharTypeName

public java.lang.String getMatchingNationalCharTypeName()
Description copied from interface: TypeCompiler
Get the name of the matching national char type.

Specified by:
getMatchingNationalCharTypeName in interface TypeCompiler
Overrides:
getMatchingNationalCharTypeName in class BaseTypeCompiler
See Also:
TypeCompiler.getMatchingNationalCharTypeName()

nullMethodName

protected java.lang.String nullMethodName()
Specified by:
nullMethodName in class BaseTypeCompiler

dataValueMethodName

protected java.lang.String dataValueMethodName()
Overrides:
dataValueMethodName in class BaseTypeCompiler


Apache Derby V10.0 Engine Documentation - Copyright © 1997,2004 The Apache Software Foundation or its licensors, as applicable.