Class BaseTypeIdImpl

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int formatId
      This class implements Formatable.
      (package private) int JDBCTypeId
      JDBC type - derived from the format identifier.
      protected java.lang.String schemaName  
      (package private) java.lang.String unqualifiedName  
    • Constructor Summary

      Constructors 
      Constructor Description
      BaseTypeIdImpl()
      niladic constructor.
      BaseTypeIdImpl​(int formatId)
      1 argument constructor.
      BaseTypeIdImpl​(java.lang.String SQLTypeName)
      Constructor for an BaseTypeIdImpl
      BaseTypeIdImpl​(java.lang.String schemaName, java.lang.String unqualifiedName)
      Constructor for an BaseTypeIdImpl which describes a UDT
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.lang.String doubleQuote​(java.lang.String raw)  
      boolean equals​(java.lang.Object that)
      we want equals to say if these are the same type id or not.
      int getJDBCTypeId()
      Get the jdbc type id for this type.
      java.lang.String getSchemaName()
      Get the schema name of this type.
      java.lang.String getSQLTypeName()
      Returns the SQL name of the datatype.
      int getTypeFormatId()
      Get the formatID which corresponds to this class.
      java.lang.String getUnqualifiedName()
      Get the unqualified name of this type.
      int hashCode()
      Hashcode which works with equals.
      boolean isAnsiUDT()
      Return true if this is this type id describes an ANSI UDT
      void readExternal​(java.io.ObjectInput in)
      Read this object from a stream of stored objects.
      private void setTypeIdSpecificInstanceVariables()  
      private java.lang.String stripQuotes​(java.lang.String quoted)  
      java.lang.String toParsableString​(TypeDescriptor td)
      Converts this TypeId, given a data type descriptor (including length/precision), to a string.
      java.lang.String toString()
      Format this BaseTypeIdImpl as a String
      boolean userType()
      Does this type id represent a user type?
      void writeExternal​(java.io.ObjectOutput out)
      Write this object to a stream of stored objects.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • formatId

        private int formatId
        This class implements Formatable. That means that it can write itself to and from a formatted stream. If you add more fields to this class, make sure that you also write/read them with the writeExternal()/readExternal() methods. If, inbetween releases, you add more fields to this class, then you should bump the version number emitted by the getTypeFormatId() method.
      • schemaName

        protected java.lang.String schemaName
      • unqualifiedName

        java.lang.String unqualifiedName
      • JDBCTypeId

        transient int JDBCTypeId
        JDBC type - derived from the format identifier.
    • Constructor Detail

      • BaseTypeIdImpl

        public BaseTypeIdImpl()
        niladic constructor. Needed for Formatable interface to work.
      • BaseTypeIdImpl

        public BaseTypeIdImpl​(int formatId)
        1 argument constructor. Needed for Formatable interface to work.
        Parameters:
        formatId - Format id of specific type id.
      • BaseTypeIdImpl

        BaseTypeIdImpl​(java.lang.String SQLTypeName)
        Constructor for an BaseTypeIdImpl
        Parameters:
        SQLTypeName - The unqualified SQL name of the type
      • BaseTypeIdImpl

        BaseTypeIdImpl​(java.lang.String schemaName,
                       java.lang.String unqualifiedName)
        Constructor for an BaseTypeIdImpl which describes a UDT
        Parameters:
        schemaName - The schema that the UDT lives in
        unqualifiedName - The unqualified name of the UDT in that schema
    • Method Detail

      • getSQLTypeName

        public java.lang.String getSQLTypeName()
        Returns the SQL name of the datatype. If it is a Derby user-defined type, it returns the full Java path name for the datatype, meaning the dot-separated path including the package names. If it is a UDT, returns "schemaName"."unqualifiedName".
        Returns:
        A String containing the SQL name of this type.
      • getSchemaName

        public java.lang.String getSchemaName()
        Get the schema name of this type. Non-null only for UDTs
      • getUnqualifiedName

        public java.lang.String getUnqualifiedName()
        Get the unqualified name of this type. Except for UDTs, this is the same value as getSQLTypeName()
      • isAnsiUDT

        public boolean isAnsiUDT()
        Return true if this is this type id describes an ANSI UDT
      • getJDBCTypeId

        public int getJDBCTypeId()
        Get the jdbc type id for this type. JDBC type can be found in java.sql.Types.
        Returns:
        a jdbc type, e.g. java.sql.Types.DECIMAL
        See Also:
        Types
      • toParsableString

        public java.lang.String toParsableString​(TypeDescriptor td)
        Converts this TypeId, given a data type descriptor (including length/precision), to a string. E.g. VARCHAR(30) For most data types, we just return the SQL type name.
        Parameters:
        td - Data type descriptor that holds the length/precision etc. as necessary
        Returns:
        String version of datatype, suitable for running through the Parser.
      • userType

        public boolean userType()
        Does this type id represent a user type?
      • toString

        public java.lang.String toString()
        Format this BaseTypeIdImpl as a String
        Overrides:
        toString in class java.lang.Object
        Returns:
        This BaseTypeIdImpl formatted as a String
      • equals

        public boolean equals​(java.lang.Object that)
        we want equals to say if these are the same type id or not.
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Hashcode which works with equals.
        Overrides:
        hashCode in class java.lang.Object
      • 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
        Read this object from a stream of stored objects.
        Specified by:
        readExternal in interface java.io.Externalizable
        Parameters:
        in - read this.
        Throws:
        java.io.IOException - thrown on error
        java.lang.ClassNotFoundException - thrown on error
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Write this object to a stream of stored objects.
        Specified by:
        writeExternal in interface java.io.Externalizable
        Parameters:
        out - write bytes here.
        Throws:
        java.io.IOException - thrown on error
      • setTypeIdSpecificInstanceVariables

        private void setTypeIdSpecificInstanceVariables()
      • doubleQuote

        private java.lang.String doubleQuote​(java.lang.String raw)
      • stripQuotes

        private java.lang.String stripQuotes​(java.lang.String quoted)