Class CharTypeCompiler

java.lang.Object
org.apache.derby.impl.sql.compile.BaseTypeCompiler
org.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.
  • Constructor Details

    • CharTypeCompiler

      public CharTypeCompiler()
  • Method Details

    • 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:
    • 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 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:
    • getCorrespondingPrimitiveTypeName

      public 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:
    • 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:
    • nullMethodName

      String nullMethodName()
      Description copied from class: BaseTypeCompiler
      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.
      Specified by:
      nullMethodName in class BaseTypeCompiler
    • pushCollationForDataValue

      boolean pushCollationForDataValue(int collationType)
      Push the collation type if it is not COLLATION_TYPE_UCS_BASIC.
      Overrides:
      pushCollationForDataValue in class BaseTypeCompiler
      Parameters:
      collationType - Collation type of character values.
      Returns:
      true collationType will be pushed, false collationType will be ignored.
    • dataValueMethodName

      String dataValueMethodName()
      Description copied from class: BaseTypeCompiler
      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)
      Overrides:
      dataValueMethodName in class BaseTypeCompiler