com.informix.jdbc

## Interface IfmxUDTSQLInput

All Superinterfaces:
  java.sql.SQLInput, com.informix.jdbc.SQLUDTInput

    public interface IfmxUDTSQLInput
    extends com.informix.jdbc.SQLUDTInput

The IfmxUDTSQLInput interface extends the SQLInput interface. This interface is specifically for Informix user-defined types. It contains Informix extension methods for materializing fixed-length data.

### Method Summary

All Methods Instance Methods Abstract Methods
`int` `available()` Returns the number of bytes remaining in this input stream
`boolean` `getAutoAlignment()` Returns true if auto alignment is enabled and false if auto alignment has been disabled.
`int` `getCurrentPosition()` Returns the current position in the input stream.
`IfxUDTInfo` `getUDTInfo(int xid)` Get general information about opaque and distinct types and detailed information for complex types.
`IfxUDTInfo` `getUDTInfo(java.lang.String name, java.lang.String owner)` Get general information about opaque and distinct types and detailed information for complex types.
`byte[]` `readAllBytes()` Returns the entire UDT structure as a byte [] It is up to the end user then to convert this into the appropriate structure for the UDT
`void` `setAutoAlignment(boolean value)` Enable or disable automatic alignment.
`void` `setCurrentPosition(int position)` Sets the current position.
`void` `skipBytes(int len)` Skips over and discards len bytes of data from the input stream.

### Methods inherited from interface com.informix.jdbc.SQLUDTInput

`length, readBytes, readInterval, readString`

### Methods inherited from interface java.sql.SQLInput

`readArray, readAsciiStream, readBigDecimal, readBinaryStream, readBlob, readBoolean, readByte, readBytes, readCharacterStream, readClob, readDate, readDouble, readFloat, readInt, readLong, readNClob, readNString, readObject, readObject, readRef, readRowId, readShort, readSQLXML, readString, readTime, readTimestamp, readURL, wasNull`

### Method Detail

#### setAutoAlignment

    void setAutoAlignment(boolean value)

Enable or disable automatic alignment. The default is that the driver automatically handles alignment between data fields.

Parameters:
  `value` - = true then alignment should be handles automatically. If value = false then no alignment is done. It's the user's respon- sibility to call skipBytes(int) to handle alignment.

#### getAutoAlignment

    boolean getAutoAlignment()

Returns true if auto alignment is enabled and false if auto alignment has been disabled.

Returns:
  true if auto alignment is enabled.

#### skipBytes

    void skipBytes(int len)
            throws java.sql.SQLException

Skips over and discards len bytes of data from the input stream. alignment has been disabled.

Parameters:
  `len` - Number of bytes to skip over and discard.
Throws:
  `java.sql.SQLException`

#### getCurrentPosition

    int getCurrentPosition()

Returns the current position in the input stream.

Returns:
  Returns the current position.

#### setCurrentPosition

    void setCurrentPosition(int position)
                     throws java.sql.SQLException

Sets the current position.

Parameters:
  `position` -
Throws:
  `java.sql.SQLException`

#### available

    int available()

Returns the number of bytes remaining in this input stream

Returns:
  Returns the number of bytes remaining in this input stream.

#### getUDTInfo

    IfxUDTInfo getUDTInfo(int xid)
                   throws java.sql.SQLException

Get general information about opaque and distinct types and detailed information for complex types. Calls IfmxConnection.getUDTInfo(int)

Parameters:
  `xid` - Is the extended id found in sysxtdtype system catalog.
Returns:
  Object of type IfxUDTInfo which contains all information about a user defined datatype
Throws:
  `java.sql.SQLException`

#### getUDTInfo

    IfxUDTInfo getUDTInfo(java.lang.String name,
                          java.lang.String owner)
                   throws java.sql.SQLException

Get general information about opaque and distinct types and detailed information for complex types. Calls IfmxConnection.getUDTInfo(String name, String owner)

Parameters:
  `name` - The data type name.
  `owner` - The owner of the data type (can be null).
Returns:
  The detailed type information as an Informix IfxUDTInfo.
Throws:
  `java.sql.SQLException`

#### readAllBytes

    byte[] readAllBytes()
                 throws java.sql.SQLException

Returns the entire UDT structure as a byte [] It is up to the end user then to convert this into the appropriate structure for the UDT

Returns:
  byte [] the UDT structure as a byte array
Throws:
  `java.sql.SQLException`