Class JSQLType

java.lang.Object
org.apache.derby.iapi.types.JSQLType
All Implemented Interfaces:
Externalizable, Serializable, Formatable, TypedFormat

public final class JSQLType extends 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:
  • Field Details

  • Constructor Details

    • 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(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 Details

    • 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 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
    • getSQLType

      public DataTypeDescriptor getSQLType() throws StandardException
      What's our SQLTYPE?
      Returns:
      the DataTypeDescriptor corresponding to this type
      Throws:
      StandardException
    • getPrimitiveName

      public static 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(ObjectInput in) throws IOException, ClassNotFoundException
      Specified by:
      readExternal in interface Externalizable
      Throws:
      IOException - thrown on error
      ClassNotFoundException - thrown on error
      See Also:
    • writeExternal

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

      private void initialize(byte primitiveKind)
    • initialize

      private void initialize(DataTypeDescriptor sqlType)
    • initialize

      private void initialize(String javaClassName)
    • initialize

      private void initialize(byte category, DataTypeDescriptor sqlType, 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 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(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