To create an opaque type without an existing Java™ class:
- Create a default sbspace on the database server to hold
the JAR file that contains the code for the opaque type.
For
information about creating an sbspace, see the IBM®
Informix® Administrator's Guide for
your database server and the IBM J/Foundation Developer's
Guide.
- Open a JDBC connection.
Make sure the connection
object has a database object associated with it. For details, see Connect to the database.
- Instantiate a UDTManager object and a UDTMetaData object:
UDTManager udtmgr = new UDTManager(connection);
UDTMetaData mdata = new UDTMetaData();
- Specify the characteristics of the opaque type by calling
methods in the UDTMetaData class:
mdata.setSQLName("acircle");
mdata.setLength(24);
mdata.setFieldCount(3);
mdata.setFieldName(1, "x");
mdata.setFieldName(2, "y");
mdata.setFieldName(3, "radius");
mdata.setFieldType
(1,com.informix.lang.IfxTypes.IFX_TYPE_INT);
mdata.setFieldType
(2,com.informix.lang.IfxTypes.IFX_TYPE_INT);
mdata.setFieldType
(3,com.informix.lang.IfxTypes.IFX_TYPE_INT);
mdata.setJarFileSQLName("ACircleJar");
For more information
about setting characteristics for opaque types, see Specify characteristics for an opaque type.
- Create the Java file,
the class file, and the JAR file:
mdata.keepJavaFile(true);
String classname = udtmgr.createUDTClass(mdata);
String jarfilename = udtmgr.createJar(mdata, new String[]
{classname + .class"});
For more information, see Creating the JAR and class files.
- If desired, specify a path name where the driver should
place the JAR file in the database server file system:
String pathname = "/work/srv93/examples";
udtmgr.setJarFileTmpPath(pathname);
Make sure the path
exists in the server file system. For more information, see Specify a JAR file temporary path.
- Send the class definition to the database server:
udtmgr.createUDT(mdata, jarfilename, classname, 0);
For
more information, see Send the class definition to the database server.