Create an opaque type using default support functions
The following example creates an opaque type named Circle,
using an existing Java™ class
and using the default support functions provided in the database server:
*/ import java.sql.*; import com.informix.jdbc.IfmxUDTSQLInput; import com.informix.jdbc.IfmxUDTSQLOutput; public class Circle implements SQLData { private static double PI = 3.14159; double x; // x coordinate double y; // y coordinate double radius; private String type = "circle"; public String getSQLTypeName() { return type; } public void readSQL(SQLInput stream, String typeName) throws SQLException { // To be able to use the DEFAULT support functions supplied // by the server, you must cast the stream to IfmxUDTSQLInput. // (Server requirement) IfmxUDTSQLInput in = (IfmxUDTSQLInput) stream; x = in.readDouble(); y = in.readDouble(); radius = in.readDouble(); } public void writeSQL(SQLOutput stream) throws SQLException { // To be able to use the DEFAULT support functions supplied // by the server, have to cast the stream to IfmxUDTSQLOutput. // (Server requirement) IfmxUDTSQLOutput out = (IfmxUDTSQLOutput) stream; out.writeDouble(x); out.writeDouble(y); out.writeDouble(radius); } public static double area(Circle c) { return PI * c.radius * c.radius; } }