Class TimeTypeCompiler

    • Constructor Detail

      • TimeTypeCompiler

        public TimeTypeCompiler()
    • Method Detail

      • convertible

        public boolean convertible​(TypeId otherType,
                                   boolean forDataTypeFunction)
        User types are convertible to other user types only if (for now) they are the same type and are being used to implement some JDBC type. This is sufficient for date/time types; it may be generalized later for e.g. comparison of any user type with one of its subtypes.
        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)
        Description copied from interface: TypeCompiler
        Determine if this type is compatible to some other type (e.g. COALESCE(thistype, othertype)).
        Parameters:
        otherType - The CompilationType of the other type to compare this type to
        Returns:
        true if the types are compatible, false if not compatible
        See Also:
        TypeCompiler.compatible(org.apache.derby.iapi.types.TypeId)
      • storable

        public boolean storable​(TypeId otherType,
                                ClassFactory cf)
        User types are storable into other user types that they are assignable to. The other type must be a subclass of this type, or implement this type as one of its interfaces. Built-in types are also storable into user types when the built-in type's corresponding Java type is assignable to the user type.
        Parameters:
        otherType - the type of the instance to store into this type.
        cf - A ClassFactory
        Returns:
        true if otherType is storable into this type, else false.
      • 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()
      • nullMethodName

        java.lang.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