Class JSQLType

  • All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable, Formatable, TypedFormat

    public final class JSQLType
    extends java.lang.Object
    implements Formatable
    Type descriptor which wraps all 3 kinds of types supported in Derby's JSQL language: SQL types, Java primitives, Java classes. This interface was originally added to support the serializing of WorkUnit signatures.
    See Also:
    Serialized Form
    • Constructor Detail

      • JSQLType

        public JSQLType()
        Public 0-arg constructor for Formatable machinery.
      • JSQLType

        public JSQLType​(DataTypeDescriptor sqlType)
        Create a JSQLType from a SQL type.
        Parameters:
        sqlType - the SQL type to wrap
      • JSQLType

        public JSQLType​(java.lang.String javaName)
        Create a JSQLType given the name of a Java primitive or java class.
        Parameters:
        javaName - name of java primitive or class to wrap
      • JSQLType

        public JSQLType​(byte primitiveKind)
        Create a JSQLType for a Java primitive.
        Parameters:
        primitiveKind - primitive to wrap
    • Method Detail

      • getCategory

        public byte getCategory()
        What kind of type is this:
        Returns:
        one of the following: SQLTYPE, JAVA_PRIMITIVE, JAVA_CLASS
      • getPrimitiveKind

        public byte getPrimitiveKind()
        If this is a JAVA_PRIMITIVE, what is its name?
        Returns:
        BOOLEAN, INT, ... if this is a JAVA_PRIMITIVE. NOT_PRIMITIVE if this is SQLTYPE or JAVA_CLASS.
      • getJavaClassName

        public java.lang.String getJavaClassName()
        If this is a JAVA_CLASS, what is it's name?
        Returns:
        java class name if this is a JAVA_CLASS null if this is SQLTYPE or JAVA_PRIMITIVE
      • getPrimitiveName

        public static java.lang.String getPrimitiveName​(byte index)
      • getTypeFormatId

        public int getTypeFormatId()
        Get the formatID which corresponds to this class.
        Specified by:
        getTypeFormatId in interface TypedFormat
        Returns:
        the formatID of this class
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Specified by:
        readExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException - thrown on error
        java.lang.ClassNotFoundException - thrown on error
        See Also:
        Externalizable.readExternal(java.io.ObjectInput)
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException - thrown on error
      • initialize

        private void initialize​(byte primitiveKind)
      • initialize

        private void initialize​(java.lang.String javaClassName)
      • initialize

        private void initialize​(byte category,
                                DataTypeDescriptor sqlType,
                                java.lang.String javaClassName,
                                byte primitiveKind)
        Initialize this JSQL type. Minion of all constructors.
        Parameters:
        category - SQLTYPE, JAVA_CLASS, JAVA_PRIMITIVE
        sqlType - corresponding SQL type if category=SQLTYPE
        javaClassName - corresponding java class if category=JAVA_CLASS
        primitiveKind - kind of primitive if category=JAVA_PRIMITIVE
      • getWrapperClassName

        public static java.lang.String getWrapperClassName​(byte primitive)
        Gets the name of the java wrapper class corresponding to a primitive.
        Parameters:
        primitive - BOOLEAN, INT, ... etc.
        Returns:
        name of the java wrapper class corresponding to the primitive
      • getPrimitiveID

        public static byte getPrimitiveID​(java.lang.String name)
        Translate the name of a java primitive to an id
        Parameters:
        name - name of primitive
        Returns:
        BOOLEAN, INT, ... etc if the name is that of a primitive. NOT_PRIMITIVE otherwise