org.apache.derby.catalog.types
Class BaseTypeIdImpl

java.lang.Object
  extended by org.apache.derby.catalog.types.BaseTypeIdImpl
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Formatable, TypedFormat
Direct Known Subclasses:
DecimalTypeIdImpl, RowMultiSetImpl, UserDefinedTypeIdImpl

public class BaseTypeIdImpl
extends java.lang.Object
implements Formatable

This class is the base class for all type ids that are written to the system tables.

See Also:
Serialized Form

Field Summary
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
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
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)

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.