com.informix.jdbc

## Class IfxComplex

- java.lang.Object
- - com.informix.jdbc.IfxObject
  - - com.informix.jdbc.IfxComplex

Direct Known Subclasses:
  IfxCollection, IfxRow

    public abstract class IfxComplex
    extends IfxObject

### Field Summary

Fields
`protected static short` `CLROW_HDRSZ`
`protected static short` `CLROW_ROWSZ`
`protected static int` `IFX_CT_NULL`
`protected IfxComplexInput` `inputStream`
`protected static short` `OLDCLROW_HDRSZ`
`protected static short` `OLDCLROW_ROWSZ`
`protected IfxComplexOutput` `outputStream`

### Fields inherited from class com.informix.jdbc.IfxObject

`conn, encodedLength, extendedID, extendedName, extendedOwner, ifxType, isNull, jdbcType, sourceType, trace, typeMap, used_in_update`

### Method Summary

Methods
`void` `clear()` Clear the instance states
`void` `fromIfx(byte[] b)` fromIfx() convert network complex type data
`void` `fromIfx(byte[] b, IfxColumnInfo typeInfo, boolean isNull)`
`void` `fromIfx(byte[] b, int offset, int length)` fromIfx() convert network complex type data into a IfxColumnInfo [] to hold the type information based on the flag information determine if it's NULL instantiate a IfxComplexInput to hold the serialized data.
`byte[]` `toIfx()` toIfx - called from one of IfxComplex's subclass'.
`byte[]` `toIfxTuple()` toIfxTuple - called from one of IfxComplex's subclass'.

### Methods inherited from class com.informix.jdbc.IfxObject

`clearWarning, equals, fromAsciiStream, fromAsciiStream, fromBinaryStream, fromBinaryStream, fromBlob, fromBoolean, fromBoolean, fromByte, fromByte, fromBytes, fromCharacterStream, fromCharacterStream, fromClob, fromDate, fromDecimal, fromDecimal, fromDouble, fromDouble, fromFloat, fromFloat, fromIfx, fromIfx, fromIfx, fromIfx, fromInputStream, fromInputStream, fromInt, fromInt, fromIntervalDF, fromIntervalYM, fromLong, fromLong, fromObject, fromObject, fromObject, fromShort, fromShort, fromString, fromString, fromTime, fromTimestamp, get_used_in_update, getEncodedLength, getWarning, isNull, nullify, set_used_in_update, setConnection, setExtendedTypeName, setIfxType, setTypeMap, toAsciiStream, toBinaryStream, toBlob, toBoolean, toByte, toBytes, toCharacterStream, toClob, toDate, toDecimal, toDouble, toFloat, toIfxBSONObject, toInputStream, toInt, toInterval, toIntervalDF, toIntervalYM, toLong, toObject, toObject, toShort, toString, toTime, toTimestamp, toUnloadString, unnullify`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### inputStream

    protected IfxComplexInput inputStream

#### outputStream

    protected IfxComplexOutput outputStream

#### IFX_CT_NULL

    protected static final int IFX_CT_NULL

See Also:
  Constant Field Values

#### CLROW_HDRSZ

    protected static final short CLROW_HDRSZ

See Also:
  Constant Field Values

#### CLROW_ROWSZ

    protected static final short CLROW_ROWSZ

See Also:
  Constant Field Values

#### OLDCLROW_HDRSZ

    protected static final short OLDCLROW_HDRSZ

See Also:
  Constant Field Values

#### OLDCLROW_ROWSZ

    protected static final short OLDCLROW_ROWSZ

See Also:
  Constant Field Values

### Method Detail

#### clear

    public void clear()

Description copied from class: `IfxObject`
Clear the instance states

Overrides:
  `clear` in class `IfxObject`

#### fromIfx

    public void fromIfx(byte[] b)
                 throws java.sql.SQLException

fromIfx() convert network complex type data

Overrides:
  `fromIfx` in class `IfxObject`
Parameters:
  `byte[]` - byte array containing tuple data
Throws:
  `java.sql.SQLException`

#### fromIfx

    public void fromIfx(byte[] b,
               int offset,
               int length)
                 throws java.sql.SQLException

fromIfx() convert network complex type data into a IfxColumnInfo [] to hold the type information based on the flag information determine if it's NULL instantiate a IfxComplexInput to hold the serialized data. Data isn't materialized until Struct.getAttribute, Array.toArray() or IfxRow.toObject() or IfxCollection.toObject() is called.

Overrides:
  `fromIfx` in class `IfxObject`
Parameters:
  `byte[]` - byte array containing tuple data
  `offset` - position into byte array where data starts
  `length` - size of data
Throws:
  `java.sql.SQLException`

#### fromIfx

    public void fromIfx(byte[] b,
               IfxColumnInfo typeInfo,
               boolean isNull)
                 throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### toIfx

    public byte[] toIfx()
                 throws java.sql.SQLException

toIfx - called from one of IfxComplex's subclass'. The subclass is is reponsible for serializing the data information when fromObject() is called.

Overrides:
  `toIfx` in class `IfxObject`
Parameters:
  `byte[]` - byte array containing tuple data
Throws:
  `java.sql.SQLException`

#### toIfxTuple

    public byte[] toIfxTuple()
                      throws java.sql.SQLException

toIfxTuple - called from one of IfxComplex's subclass'. The subclass is is reponsible for serializing the data information when fromObject() is called.

Overrides:
  `toIfxTuple` in class `IfxObject`
Parameters:
  `byte[]` - byte array containing tuple data
Throws:
  `java.sql.SQLException`