Class UserDefinedTypeIdImpl

java.lang.Object
org.apache.derby.catalog.types.BaseTypeIdImpl
org.apache.derby.catalog.types.UserDefinedTypeIdImpl
All Implemented Interfaces:
Externalizable, 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:
  • Field Details

    • className

      protected 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 Details

    • UserDefinedTypeIdImpl

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

      public UserDefinedTypeIdImpl(String className) throws StandardException
      Constructor 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(String schemaName, String unqualifiedName, 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 Details