Stream implementations

This section briefly describes the Java™ classes that implement the IfmxUDTSQLInput and IfmxUDTSQLOutput interfaces.

IfmxSQLInStream and IfmxSQLOutStream

These streams convert to and from the internal data representation that the database server uses.

IfmxTextInStream and IfmxTextOutStream

These streams convert to and from a textual data representation for Input and Output functions. does not support cross-locale Input and Output routines; all strings are assumed to be in US English.

These streams delimit each component of the composite type with a white space between record elements. The SQL type is an LVARCHAR that contains client text. The JavaBuffer type for Input is String, which contains the client text. The JavaBuffer type for Output is a StringBuffer. The read() and write() methods must convert between the client text representation and the relevant Java object.

IfmxSRInStream and IfmxSROutStream

These streams convert to and from the binary data representation of the client for send and receive functions. The SQL type is SENDRECV, which is an internal representation that contains binary data in the client format. The JavaBuffer type is IfxDataPointer. The read() and write() methods convert between the client representation and the relevant Java object.

IfmxIEInStream and IfmxIEOutStream

This stream converts to and from a canonical text representation for import and export functions. The SQLBuffer is an IMPEXP type that is an internal representation that contains canonical textual data. The JavaBuffer type is IfxDataPointer. The read() and write() methods convert between the text representation and the relevant Java objects. These streams inherit from the IfmxTextInStream and IfmxTextOutStream classes.

IfmxIEBInStream

This stream converts to and from a canonical binary representation for binary import and export functions. The SQLBuffer is an IMPEXPBIN type that is an internal representation that contains canonical binary data. The JavaBuffer type is IfxDataPointer. The read() and write() methods must convert between the binary representation and the relevant Java objects. These streams inherit from the IfmxSRInStream and IfmxSRIOutStream classes.

Class layout (for input)

The following figure describes the class layout for input. The class layout for output is similar; simply replace In with Out in the names.
Figure 1: .Input class layout