Package oracle.sql

## Class StructDescriptor

- java.lang.Object
- - oracle.sql.TypeDescriptor
  - - oracle.sql.StructDescriptor

All Implemented Interfaces:
  `java.beans.PropertyChangeListener`, `java.io.Serializable`, `java.util.EventListener`, `oracle.jdbc.diagnostics.Diagnosable`, `oracle.jdbc.internal.ACProxyable`, `oracle.jdbc.internal.ObjectData`, `oracle.jdbc.internal.OracleTypeMetaData`, `oracle.jdbc.internal.OracleTypeMetaData.Struct`, `OracleData`, `OracleTypeMetaData`, `OracleTypeMetaData.Struct`, `ORAData`

    public class StructDescriptor
    extends TypeDescriptor
    implements oracle.jdbc.internal.OracleTypeMetaData.Struct, java.io.Serializable

Deprecated.
Use factory method Connection.createStruct to create an instance of java.sql.Struct directly.
Descriptor of a SQL structured object. (That is an SQL Object type). Its main responsibility is understanding how to convert between various representations of such a struct.

There should be a method to return information about the fields (beyond their number. But there is no public representation for that.

See Also:
  `Connection.createStruct(java.lang.String, java.lang.Object[])`, Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from interface oracle.jdbc.internal.OracleTypeMetaData

`oracle.jdbc.internal.OracleTypeMetaData.Array, oracle.jdbc.internal.OracleTypeMetaData.Opaque, oracle.jdbc.internal.OracleTypeMetaData.Struct`

### Nested classes/interfaces inherited from interface oracle.jdbc.OracleTypeMetaData

`OracleTypeMetaData.Array, OracleTypeMetaData.ArrayStorage, OracleTypeMetaData.Kind, OracleTypeMetaData.Opaque, OracleTypeMetaData.Struct`

### Field Summary

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

`ANYDATASETTOID, ANYDATATOID, ANYTYPETOID, DEBUG_SERIALIZATION, JSONTOID, KOIDFLEN, RAWTOID, TYPECODE_BDOUBLE, TYPECODE_BFILE, TYPECODE_BFLOAT, TYPECODE_BLOB, TYPECODE_BOOLEAN, TYPECODE_CFILE, TYPECODE_CHAR, TYPECODE_CLOB, TYPECODE_DATE, TYPECODE_DECIMAL, TYPECODE_DOUBLE, TYPECODE_ERRHP, TYPECODE_FLOAT, TYPECODE_INTEGER, TYPECODE_INTERVAL_DS, TYPECODE_INTERVAL_YM, TYPECODE_ITABLE, TYPECODE_JDBC_ARRAY, TYPECODE_JDBC_JOBJECT, TYPECODE_JDBC_JOPAQUE, TYPECODE_JDBC_JSTRUCT, TYPECODE_JDBC_REF, TYPECODE_JDBC_STRUCT, TYPECODE_MLSLABEL, TYPECODE_NAMEDCOLLECTION, TYPECODE_NCHAR, TYPECODE_NCLOB, TYPECODE_NONE, TYPECODE_NUMBER, TYPECODE_NVARCHAR2, TYPECODE_OBJECT, TYPECODE_OCTET, TYPECODE_OPAQUE, TYPECODE_OTMFIRST, TYPECODE_OTMLAST, TYPECODE_PLS_INTEGER, TYPECODE_PTR, TYPECODE_RAW, TYPECODE_REAL, TYPECODE_RECORD, TYPECODE_REF, TYPECODE_SIGNED16, TYPECODE_SIGNED32, TYPECODE_SIGNED8, TYPECODE_SMALLINT, TYPECODE_SQLXML, TYPECODE_SYSFIRST, TYPECODE_SYSLAST, TYPECODE_TABLE, TYPECODE_TIME, TYPECODE_TIME_TZ, TYPECODE_TIMESTAMP, TYPECODE_TIMESTAMP_LTZ, TYPECODE_TIMESTAMP_TZ, TYPECODE_UNSIGNED16, TYPECODE_UNSIGNED32, TYPECODE_UNSIGNED8, TYPECODE_UROWID, TYPECODE_VARCHAR, TYPECODE_VARCHAR2, TYPECODE_VARRAY, XMLTYPETOID`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
`static StructDescriptor` `createDescriptor​(java.lang.String name, java.sql.Connection conn)` Deprecated. Descriptor factory.
`static StructDescriptor` `createDescriptor​(java.lang.String name, java.sql.Connection conn, boolean recurse, boolean force)` Deprecated. Descriptor factory.
`static StructDescriptor` `createDescriptor​(oracle.sql.SQLName name, java.sql.Connection conn)` Deprecated.
`static StructDescriptor` `createDescriptor​(oracle.sql.SQLName sqlName, java.sql.Connection conn, boolean recurse, boolean force)` Deprecated.
`java.lang.String` `descType()` Deprecated. Describe this type.
`AttributeDescriptor[]` `getAttributesDescriptor()` Deprecated.
`java.lang.String` `getJavaClassName()` Deprecated. Returns the external name of the JAVA_STRUCT type.
`OracleTypeMetaData.Kind` `getKind()` Deprecated. Return the kind of type.
`java.lang.String` `getLanguage()` Deprecated.
`int` `getLength()` Deprecated. The number of fields in the Object Type.
`int` `getLocalAttributeCount()` Deprecated. Returns the number of attributes defined in the subtype.
`java.sql.ResultSetMetaData` `getMetaData()` Deprecated. Gets the metadata regarding this type.
`java.lang.String[]` `getSubtypeNames()` Deprecated. Returns the SQL type names of the direct subtypes.
`java.lang.String` `getSupertypeName()` Deprecated. Returns the SQL type name of the direct subtype.
`int` `getTypeCode()` Deprecated. Returns type code.
`int` `getTypeVersion()` Deprecated.
`boolean` `isFinalType()` Deprecated. Indicates whether the object type is a final type.
`boolean` `isInstantiable()` Deprecated. Indicates whether the object type is instantiable.
`boolean` `isJavaObject()` Deprecated. Indicates whether the object type is a JAVA_STRUCT type or a STRUCT type.
`boolean` `isSubtype()` Deprecated. Indicates whether the object type is a subtype.
`Datum[]` `toOracleArray​(java.util.Map attributes)` Deprecated.

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

`convToUpperCase, getConnectionDuringExceptionHandling, getDiagnosable, getInternalTypeCode, getName, getPrecision, getScale, getSubtypeName, getTypeCodeName, getTypeDescriptor, initMetadataRecursively, initNamesRecursively, isTransient, isV2available, printXML, printXML, setConnection, setPrecision, setScale, toDatum, toJDBCObject, toXMLString, toXMLString`

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

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

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

`getACProxy, setACProxy`

### Methods inherited from interface oracle.jdbc.diagnostics.Diagnosable

`begin, begin, beginCurrentSql, debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, debugp, end, end, endCurrentSql, format, isDebugEnabled, isDiagnoseFirstFailureEnabled, isLoggable, isSensitiveEnabled, onClose, propertyChange, resumeLogging, secure, suspendLogging, trace, tracep`

### Methods inherited from interface oracle.jdbc.OracleTypeMetaData

`getName, getSchemaName, getSQLName, getTypeCodeName`

### Method Detail

#### createDescriptor

    public static StructDescriptor createDescriptor​(java.lang.String name,
                                                    java.sql.Connection conn)
                                             throws java.sql.SQLException

Deprecated.
Descriptor factory. Lookup the name in the database, and determine the characteristics of this array.

Parameters:
  `name` - a String naming the type. (Not necessarily fully qualified)
  `conn` - a Connection to a database
Returns:
  the descriptor created.
Throws:
  `java.sql.SQLException`

#### createDescriptor

    public static StructDescriptor createDescriptor​(java.lang.String name,
                                                    java.sql.Connection conn,
                                                    boolean recurse,
                                                    boolean force)
                                             throws java.sql.SQLException

Deprecated.
Descriptor factory. Lookup the name in the database, and determine the characteristics of this array.

Parameters:
  `name` - a String naming the type. (Not necessarily fully qualified)
  `connection` - a Connection to a database
  `recurse` - a boolean to specify whether to create descriptors for component objects
  `force` - a boolean to specify whether to replace any cached descriptor.
Returns:
  the descriptor created.
Throws:
  `java.sql.SQLException` - if a database error occurs

#### createDescriptor

    public static StructDescriptor createDescriptor​(oracle.sql.SQLName sqlName,
                                                    java.sql.Connection conn,
                                                    boolean recurse,
                                                    boolean force)
                                             throws java.sql.SQLException

Deprecated.
Descriptor factory. Lookup the name in the database, and determine the characteristics of this array.

Parameters:
  `name` - a String naming the type. (Not necessarily fully qualified)
  `connection` - a Connection to a database
  `recurse` - a boolean to specify whether to create descriptors for component objects
  `force` - a boolean to specify whether to replace any cached descriptor.
Returns:
  the descriptor created. Use connection.createStruct intead
Throws:
  `java.sql.SQLException`

#### createDescriptor

    public static StructDescriptor createDescriptor​(oracle.sql.SQLName name,
                                                    java.sql.Connection conn)
                                             throws java.sql.SQLException

Deprecated.
Descriptor factory. Lookup the name in the database, and determine the characteristics of this array.

Parameters:
  `name` - a String naming the type. (Not necessarily fully qualified)
  `connection` - a Connection to a database
Returns:
  the descriptor created. Use connection.createStruct intead
Throws:
  `java.sql.SQLException`

#### getKind

    public OracleTypeMetaData.Kind getKind()

Deprecated.
Description copied from interface: `OracleTypeMetaData`
Return the kind of type.

Specified by:
  `getKind` in interface `OracleTypeMetaData`
Overrides:
  `getKind` in class `TypeDescriptor`
Returns:
  the kind, STRUCT

#### getTypeCode

    public int getTypeCode()
                    throws java.sql.SQLException

Deprecated.
Description copied from class: `TypeDescriptor`
Returns type code.

Specified by:
  `getTypeCode` in interface `OracleTypeMetaData`
Overrides:
  `getTypeCode` in class `TypeDescriptor`
Throws:
  `java.sql.SQLException`

#### getTypeVersion

    public int getTypeVersion()
                       throws java.sql.SQLException

Deprecated.

Specified by:
  `getTypeVersion` in interface `OracleTypeMetaData.Struct`
Throws:
  `java.sql.SQLException`

#### getAttributesDescriptor

    public AttributeDescriptor[] getAttributesDescriptor()

Deprecated.

#### getLength

    public int getLength()
                  throws java.sql.SQLException

Deprecated.
The number of fields in the Object Type.

Specified by:
  `getLength` in interface `OracleTypeMetaData.Struct`
Returns:
  the size.
Throws:
  `java.sql.SQLException`

#### toOracleArray

    public Datum[] toOracleArray​(java.util.Map attributes)
                          throws java.sql.SQLException

Deprecated.

Throws:
  `java.sql.SQLException`

#### getMetaData

    public java.sql.ResultSetMetaData getMetaData()
                                           throws java.sql.SQLException

Deprecated.
Gets the metadata regarding this type. The return ResultSetMetaData contains the attribute name, attribute type id and attribute type precision information. The column index in ResultSetMetaData maps to the position of the attribute in a Struct (with the first attribute being at index 1).

Specified by:
  `getMetaData` in interface `OracleTypeMetaData.Struct`
Returns:
  a ResultSetMetaData object that contains the type info
Throws:
  `java.sql.SQLException`

#### isFinalType

    public boolean isFinalType()
                        throws java.sql.SQLException

Deprecated.
Indicates whether the object type is a final type.

Specified by:
  `isFinalType` in interface `OracleTypeMetaData.Struct`
Returns:
  true if the object type is a final type and false otherwise.
Throws:
  `java.sql.SQLException`
Since:
  8.2.0

#### isSubtype

    public boolean isSubtype()
                      throws java.sql.SQLException

Deprecated.
Indicates whether the object type is a subtype.

Specified by:
  `isSubtype` in interface `OracleTypeMetaData.Struct`
Returns:
  true if the object type is a subtype and false otherwise.
Throws:
  `java.sql.SQLException`
Since:
  8.2.0

#### isInstantiable

    public boolean isInstantiable()
                           throws java.sql.SQLException

Deprecated.
Indicates whether the object type is instantiable.

Specified by:
  `isInstantiable` in interface `OracleTypeMetaData.Struct`
Returns:
  true if the object type is instantiable and false otherwise.
Throws:
  `java.sql.SQLException`
Since:
  8.2.0

#### isJavaObject

    public boolean isJavaObject()
                         throws java.sql.SQLException

Deprecated.
Indicates whether the object type is a JAVA_STRUCT type or a STRUCT type.

Returns:
  true if the object type is a JAVA_STRUCT type and false if the object type is a STRUCT type.
Throws:
  `java.sql.SQLException`
Since:
  8.2.0

#### getSupertypeName

    public java.lang.String getSupertypeName()
                                      throws java.sql.SQLException

Deprecated.
Returns the SQL type name of the direct subtype.

Specified by:
  `getSupertypeName` in interface `OracleTypeMetaData.Struct`
Returns:
  the fully qualified name of the supertype. Returns null if the object type is not a subtype.
Throws:
  `java.sql.SQLException`
Since:
  8.2.0

#### getLocalAttributeCount

    public int getLocalAttributeCount()
                               throws java.sql.SQLException

Deprecated.
Returns the number of attributes defined in the subtype.

Specified by:
  `getLocalAttributeCount` in interface `OracleTypeMetaData.Struct`
Returns:
  number of subtype attributes.
Throws:
  `java.sql.SQLException`
Since:
  8.2.0

#### getSubtypeNames

    public java.lang.String[] getSubtypeNames()
                                       throws java.sql.SQLException

Deprecated.
Returns the SQL type names of the direct subtypes.

Specified by:
  `getSubtypeNames` in interface `OracleTypeMetaData.Struct`
Returns:
  the fully qualifed name of the direct subtypes. Returns an empty String array if there is no subtypes.
Throws:
  `java.sql.SQLException`
Since:
  8.2.0

#### getJavaClassName

    public java.lang.String getJavaClassName()
                                      throws java.sql.SQLException

Deprecated.
Returns the external name of the JAVA_STRUCT type.

Returns:
  the JAVA_STRUCT's Java type name. Returns null if the object type is not a JAVA_STRUCT type.
Throws:
  `java.sql.SQLException`
Since:
  8.2.0

#### getLanguage

    public java.lang.String getLanguage()
                                 throws java.sql.SQLException

Deprecated.

Returns:
  JAVA if this is a JAVA_STRUCT, SQL otherwise
Throws:
  `java.sql.SQLException`
Since:
  8.2.0

#### descType

    public java.lang.String descType()
                              throws java.sql.SQLException

Deprecated.
Describe this type.

Returns:
  the type information.
Throws:
  `java.sql.SQLException`