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;
}
}