Package org.apache.derby.catalog.types
Class BaseTypeIdImpl
java.lang.Object
org.apache.derby.catalog.types.BaseTypeIdImpl
- All Implemented Interfaces:
Externalizable
,Serializable
,Formatable
,TypedFormat
- Direct Known Subclasses:
DecimalTypeIdImpl
,RowMultiSetImpl
,UserDefinedTypeIdImpl
This class is the base class for all type ids that are written to the
system tables.
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionniladic constructor.BaseTypeIdImpl
(int formatId) 1 argument constructor.BaseTypeIdImpl
(String SQLTypeName) Constructor for an BaseTypeIdImplBaseTypeIdImpl
(String schemaName, String unqualifiedName) Constructor for an BaseTypeIdImpl which describes a UDT -
Method Summary
Modifier and TypeMethodDescriptionprivate String
doubleQuote
(String raw) boolean
we want equals to say if these are the same type id or not.int
Get the jdbc type id for this type.Get the schema name of this type.Returns the SQL name of the datatype.int
Get the formatID which corresponds to this class.Get the unqualified name of this type.int
hashCode()
Hashcode which works with equals.boolean
Return true if this is this type id describes an ANSI UDTvoid
Read this object from a stream of stored objects.private void
private String
stripQuotes
(String quoted) Converts this TypeId, given a data type descriptor (including length/precision), to a string.toString()
Format this BaseTypeIdImpl as a Stringboolean
userType()
Does this type id represent a user type?void
Write this object to a stream of stored objects.
-
Field Details
-
formatId
private int formatIdThis 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
-
unqualifiedName
String unqualifiedName -
JDBCTypeId
transient int JDBCTypeIdJDBC type - derived from the format identifier.
-
-
Constructor Details
-
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(String SQLTypeName) Constructor for an BaseTypeIdImpl- Parameters:
SQLTypeName
- The unqualified SQL name of the type
-
BaseTypeIdImpl
Constructor for an BaseTypeIdImpl which describes a UDT- Parameters:
schemaName
- The schema that the UDT lives inunqualifiedName
- The unqualified name of the UDT in that schema
-
-
Method Details
-
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
Get the schema name of this type. Non-null only for UDTs -
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:
-
toParsableString
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
Format this BaseTypeIdImpl as a String -
equals
we want equals to say if these are the same type id or not. -
hashCode
public int hashCode()Hashcode which works with equals. -
getTypeFormatId
public int getTypeFormatId()Get the formatID which corresponds to this class.- Specified by:
getTypeFormatId
in interfaceTypedFormat
- Returns:
- the formatID of this class
-
readExternal
Read this object from a stream of stored objects.- Specified by:
readExternal
in interfaceExternalizable
- Parameters:
in
- read this.- Throws:
IOException
- thrown on errorClassNotFoundException
- thrown on error
-
writeExternal
Write this object to a stream of stored objects.- Specified by:
writeExternal
in interfaceExternalizable
- Parameters:
out
- write bytes here.- Throws:
IOException
- thrown on error
-
setTypeIdSpecificInstanceVariables
private void setTypeIdSpecificInstanceVariables() -
doubleQuote
-
stripQuotes
-