Top Description Constructors Methods
org.apache.derby.impl.sql.compile

public final Class CharTypeCompiler

extends BaseTypeCompiler
Class Inheritance
Imports
org.apache.derby.shared.common.reference.ClassName, org.apache.derby.iapi.services.io.StoredFormatIds, org.apache.derby.iapi.services.loader.ClassFactory, org.apache.derby.shared.common.sanity.SanityManager, org.apache.derby.iapi.sql.compile.TypeCompiler, org.apache.derby.iapi.types.DataTypeDescriptor, .StringDataValue, .TypeId

This class implements TypeCompiler for the SQL char datatypes.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public boolean
compatible(TypeId
The TypeId of the other type.
otherType
)

Implements org.apache.derby.iapi.sql.compile.TypeCompiler.compatible.

Tell whether this type (char) is compatible with the given type.

public boolean
convertible(TypeId
The CompilationType of the other type to compare this type to
otherType
,
boolean
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.
forDataTypeFunction
)

Implements org.apache.derby.iapi.sql.compile.TypeCompiler.convertible.

Tell whether this type (char) can be converted to the given type.

pack-priv String
dataValueMethodName()

Overrides org.apache.derby.impl.sql.compile.BaseTypeCompiler.dataValueMethodName.

Return the method name to get a Derby DataValueDescriptor object of the correct type and set it to a specific value.

public int
getCastToCharWidth(DataTypeDescriptor
The associated DataTypeDescriptor for this TypeId.
dts
)

Implements org.apache.derby.iapi.sql.compile.TypeCompiler.getCastToCharWidth.

Return the maximum width for this data type when cast to a char type.

public String
public String
interfaceName()

Implements org.apache.derby.iapi.sql.compile.TypeCompiler.interfaceName.

Get the name of the interface for this type.

pack-priv String
nullMethodName()

Implements abstract org.apache.derby.impl.sql.compile.BaseTypeCompiler.nullMethodName.

Return the method name to get a Derby DataValueDescriptor object of the correct type set to SQL NULL.

pack-priv boolean

Returns:

true collationType will be pushed, false collationType will be ignored.
pushCollationForDataValue
(int
Collation type of character values.
collationType
)

Overrides org.apache.derby.impl.sql.compile.BaseTypeCompiler.pushCollationForDataValue.

Push the collation type if it is not COLLATION_TYPE_UCS_BASIC.

public boolean
storable(TypeId
The TypeId of the other type.
otherType
,
ClassFactory
A ClassFactory
cf
)

Implements org.apache.derby.iapi.sql.compile.TypeCompiler.storable.

Tell whether this type (char) can be stored into from the given type.

Inherited from org.apache.derby.impl.sql.compile.BaseTypeCompiler:
generateDataValuegenerateNullgetPrimitiveMethodNamegetStoredFormatIdFromTypeIdgetTypeCompilergetTypeIdnumberConvertiblenumberStorableresolveArithmeticOperationsetTypeIduserTypeStorable

Constructor Detail

CharTypeCompilerback to summary
public CharTypeCompiler()

Method Detail

compatibleback to summary
public boolean compatible(TypeId otherType)

Implements org.apache.derby.iapi.sql.compile.TypeCompiler.compatible.

Tell whether this type (char) is compatible with the given type.

Parameters
otherType:TypeId

The TypeId of the other type.

Returns:boolean

Doc from org.apache.derby.iapi.sql.compile.TypeCompiler.compatible.

true if the types are compatible, false if not compatible

convertibleback to summary
public boolean convertible(TypeId otherType, boolean forDataTypeFunction)

Implements org.apache.derby.iapi.sql.compile.TypeCompiler.convertible.

Tell whether this type (char) can be converted to the given type.

Parameters
otherType:TypeId

Doc from org.apache.derby.iapi.sql.compile.TypeCompiler.convertible.

The CompilationType of the other type to compare this type to

forDataTypeFunction:boolean

Doc from org.apache.derby.iapi.sql.compile.TypeCompiler.convertible.

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:boolean

Doc from org.apache.derby.iapi.sql.compile.TypeCompiler.convertible.

true if the types can be converted, false if conversion is not allowed

See Also
TypeCompiler#convertible
dataValueMethodNameback to summary
pack-priv String dataValueMethodName()

Overrides org.apache.derby.impl.sql.compile.BaseTypeCompiler.dataValueMethodName.

Doc from org.apache.derby.impl.sql.compile.BaseTypeCompiler.dataValueMethodName.

Return the method name to get a Derby DataValueDescriptor object of the correct type and set it to a specific value. The method named will be called with two arguments, a value to set the returned value to and a holder object if pushCollationForDataValue() returns false. Otherwise three arguments, the third being the collationType. This implementation returns "getDataValue" to map to the overloaded methods DataValueFactory.getDataValue(type, dvd type)

Annotations
@Override
getCastToCharWidthback to summary
public int getCastToCharWidth(DataTypeDescriptor dts)

Implements org.apache.derby.iapi.sql.compile.TypeCompiler.getCastToCharWidth.

Doc from org.apache.derby.iapi.sql.compile.TypeCompiler.getCastToCharWidth.

Return the maximum width for this data type when cast to a char type.

Parameters
dts:DataTypeDescriptor

The associated DataTypeDescriptor for this TypeId.

Returns:int

int The maximum width for this data type when cast to a char type.

See Also
TypeCompiler#getCastToCharWidth
getCorrespondingPrimitiveTypeNameback to summary
public String getCorrespondingPrimitiveTypeName()

Implements org.apache.derby.iapi.sql.compile.TypeCompiler.getCorrespondingPrimitiveTypeName.

Doc from org.apache.derby.iapi.sql.compile.TypeCompiler.getCorrespondingPrimitiveTypeName.

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:String

The name of the corresponding Java primitive type.

See Also
TypeCompiler#getCorrespondingPrimitiveTypeName
interfaceNameback to summary
public String interfaceName()

Implements org.apache.derby.iapi.sql.compile.TypeCompiler.interfaceName.

Doc from org.apache.derby.iapi.sql.compile.TypeCompiler.interfaceName.

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:String

The name of the interface for this type.

See Also
TypeCompiler#interfaceName
nullMethodNameback to summary
pack-priv String nullMethodName()

Implements abstract org.apache.derby.impl.sql.compile.BaseTypeCompiler.nullMethodName.

Doc from org.apache.derby.impl.sql.compile.BaseTypeCompiler.nullMethodName.

Return the method name to get a Derby DataValueDescriptor object of the correct type set to SQL NULL. The method named will be called with one argument: a holder object if pushCollationForDataValue() returns false, otherwise two arguments, the second being the collationType.

pushCollationForDataValueback to summary
pack-priv boolean pushCollationForDataValue(int collationType)

Overrides org.apache.derby.impl.sql.compile.BaseTypeCompiler.pushCollationForDataValue.

Push the collation type if it is not COLLATION_TYPE_UCS_BASIC.

Parameters
collationType:int

Collation type of character values.

Returns:boolean

true collationType will be pushed, false collationType will be ignored.

Annotations
@Override
storableback to summary
public boolean storable(TypeId otherType, ClassFactory cf)

Implements org.apache.derby.iapi.sql.compile.TypeCompiler.storable.

Tell whether this type (char) can be stored into from the given type.

Parameters
otherType:TypeId

The TypeId of the other type.

cf:ClassFactory

A ClassFactory

Returns:boolean

Doc from org.apache.derby.iapi.sql.compile.TypeCompiler.storable.

true if the other type can be stored in a column of this type.