Package org.apache.derby.catalog.types
Class UserDefinedTypeIdImpl
- java.lang.Object
-
- org.apache.derby.catalog.types.BaseTypeIdImpl
-
- org.apache.derby.catalog.types.UserDefinedTypeIdImpl
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,Formatable,TypedFormat
public class UserDefinedTypeIdImpl extends BaseTypeIdImpl
This type id describes a user defined type. There are 2 kinds of user defined types in Derby:
- Old-fashioned - In the original Cloudscape code, it was possible to declare a column's type to be the name of a Java class. Unlike ANSI UDTs, these user defined types were not schema objects themselves and they didn't have schema-qualified names. Some of the system tables have columns whose datatypes are old-fashioned user defined types. E.g., SYS.SYSALIASES.ALIASINFO.
- ANSI - As part of the work on DERBY-651, we added ANSI UDTs. These are user defined types which are declared via the CREATE TYPE statement. These have schema-qualified names. The CREATE TYPE statement basically binds a schema-qualified name to the name of a Java class.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringclassNameThis class implements Formatable.-
Fields inherited from class org.apache.derby.catalog.types.BaseTypeIdImpl
JDBCTypeId, schemaName, unqualifiedName
-
-
Constructor Summary
Constructors Constructor Description UserDefinedTypeIdImpl()Public niladic constructor.UserDefinedTypeIdImpl(java.lang.String className)Constructor for a UserDefinedTypeIdImpl.UserDefinedTypeIdImpl(java.lang.String schemaName, java.lang.String unqualifiedName, java.lang.String className)Constructor for a UDT.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetClassName()Return the java class name for this typeintgetTypeFormatId()Get the formatID which corresponds to this class.booleanisBound()Has this user type been bound?voidreadExternal(java.io.ObjectInput in)Read this object from a stream of stored objects.booleanuserType()Does this type id represent a user type?voidwriteExternal(java.io.ObjectOutput out)Write this object to a stream of stored objects.-
Methods inherited from class org.apache.derby.catalog.types.BaseTypeIdImpl
equals, getJDBCTypeId, getSchemaName, getSQLTypeName, getUnqualifiedName, hashCode, isAnsiUDT, toParsableString, toString
-
-
-
-
Field Detail
-
className
protected java.lang.String className
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.
-
-
Constructor Detail
-
UserDefinedTypeIdImpl
public UserDefinedTypeIdImpl()
Public niladic constructor. Needed for Formatable interface to work.
-
UserDefinedTypeIdImpl
public UserDefinedTypeIdImpl(java.lang.String className) throws StandardExceptionConstructor for a UserDefinedTypeIdImpl. The SQLTypeName of a UserDefinedType is assumed to be its className for Derby-only UserDefinedTypes. For actual user created UDTs, the SQLTypeName is a schema qualified name.- Parameters:
className- The SQL name of the type- Throws:
StandardException
-
UserDefinedTypeIdImpl
public UserDefinedTypeIdImpl(java.lang.String schemaName, java.lang.String unqualifiedName, java.lang.String className)Constructor for a UDT.- Parameters:
schemaName- Schema that the UDT lives in.unqualifiedName- The name of the type inside that schema.className- The Java class bound to the SQL type.
-
-
Method Detail
-
getClassName
public java.lang.String getClassName()
Return the java class name for this type
-
userType
public boolean userType()
Does this type id represent a user type?- Overrides:
userTypein classBaseTypeIdImpl
-
isBound
public boolean isBound()
Has this user type been bound?
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundExceptionRead this object from a stream of stored objects.- Specified by:
readExternalin interfacejava.io.Externalizable- Overrides:
readExternalin classBaseTypeIdImpl- Parameters:
in- read this.- Throws:
java.io.IOException- thrown on errorjava.lang.ClassNotFoundException- thrown on error
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOExceptionWrite this object to a stream of stored objects.- Specified by:
writeExternalin interfacejava.io.Externalizable- Overrides:
writeExternalin classBaseTypeIdImpl- Parameters:
out- write bytes here.- Throws:
java.io.IOException- thrown on error
-
getTypeFormatId
public int getTypeFormatId()
Get the formatID which corresponds to this class.- Specified by:
getTypeFormatIdin interfaceTypedFormat- Overrides:
getTypeFormatIdin classBaseTypeIdImpl- Returns:
- the formatID of this class
-
-