Package oracle.sql

## Class JAVA_STRUCT

- java.lang.Object
- - oracle.sql.Datum
  - - oracle.sql.DatumWithConnection
    - - oracle.sql.STRUCT
      - - oracle.sql.JAVA_STRUCT

All Implemented Interfaces:
  `java.io.Serializable`, `java.sql.Struct`, `oracle.jdbc.internal.ACProxyable`, `oracle.jdbc.internal.OracleConcreteProxy`, `oracle.jdbc.internal.OracleDatumWithConnection`, `oracle.jdbc.internal.OracleStruct`, `OracleStruct`

    public class JAVA_STRUCT
    extends STRUCT

A class for structured data type.

See Also:
  Serialized Form

### Field Summary

### Fields inherited from class oracle.sql.STRUCT

`target`

### Fields inherited from class oracle.sql.DatumWithConnection

`targetDatumWithConnection`

### Fields inherited from class oracle.sql.Datum

`ojiOracleDatumWithConnection, targetDatum`

### Constructor Summary

Constructors
`JAVA_STRUCT​(StructDescriptor type, byte[] elements, java.sql.Connection conn)` Constructor from the pickled bytes.
`JAVA_STRUCT​(StructDescriptor type, java.sql.Connection conn, java.lang.Object[] attributes)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.Object` `toJdbc()` Oracle extension.

### Methods inherited from class oracle.sql.STRUCT

`dump, dump, dump, getAttributes, getAttributes, getAutoBuffering, getDatumArray, getDescriptor, getJavaSqlConnection, getObjectArray, getOracleAttributes, getOracleDataFactory, getOracleMetaData, getSQLTypeName, getTarget, isConvertibleTo, setAutoBuffering, setNullDatumArray, setNullObjectArray`

### Methods inherited from class oracle.sql.DatumWithConnection

`assertNotNull, assertNotNull, getConnection, getConnectionDuringExceptionHandling, getOracleConnection`

### Methods inherited from class oracle.sql.Datum

`asciiStreamValue, bigDecimalValue, binaryStreamValue, booleanValue, bytesEqual, bytesHashCode, byteValue, characterStreamValue, compareBytes, dateValue, doubleValue, equals, floatValue, getBytes, getLength, getStream, intValue, isNull, longValue, setBytes, setShareBytes, shareBytes, stringValue, stringValue, timestampValue, timestampValue, timeValue, timeValue`

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

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

### Methods inherited from interface oracle.jdbc.internal.OracleDatumWithConnection

`asciiStreamValue, bigDecimalValue, binaryStreamValue, booleanValue, byteValue, characterStreamValue, dateValue, doubleValue, floatValue, getBytes, getConnection, getInternalConnection, getLength, getOracleConnection, getStream, intValue, longValue, setBytes, setPhysicalConnectionOf, setShareBytes, shareBytes, stringValue, stringValue, timestampValue, timestampValue, timeValue, timeValue`

### Constructor Detail

#### JAVA_STRUCT

    public JAVA_STRUCT​(StructDescriptor type,
                       java.sql.Connection conn,
                       java.lang.Object[] attributes)
                throws java.sql.SQLException

Constructor. The raw bytes are computed at this time or a copy of attributes is made. In any event the caller is free to modify the array without affecting the values held in the STRUCT.

Parameters:
  `type` - the SQLStructType used to convert the type to
  `attributes` - the array specifying the attributes to be converted to raw bytes.
Throws:
  `java.sql.SQLException`
See Also:
  `oracle.sql.SQLStructType`

#### JAVA_STRUCT

    public JAVA_STRUCT​(StructDescriptor type,
                       byte[] elements,
                       java.sql.Connection conn)
                throws java.sql.SQLException

Constructor from the pickled bytes. (INTERNAL) Used by JDBC, not really intended for general use.

Parameters:
  `descriptor` - an StructDescriptor describing the SQL Type
  `bytes` - the array containing the raw bytes
Throws:
  `java.sql.SQLException`

### Method Detail

#### toJdbc

    public java.lang.Object toJdbc()
                            throws java.sql.SQLException

Oracle extension. Returns the JDBC representation of the datum object

Specified by:
  `toJdbc` in interface `oracle.jdbc.internal.OracleDatumWithConnection`
Specified by:
  `toJdbc` in interface `oracle.jdbc.internal.OracleStruct`
Overrides:
  `toJdbc` in class `STRUCT`
Returns:
  an object containing the JDBC value
Throws:
  `java.sql.SQLException` - if conversion to JDBC representation results in an error