Package oracle.jdbc

## Interface OracleTypeMetaData.Struct

All Superinterfaces:
  `OracleTypeMetaData`

All Known Implementing Classes:
  `StructDescriptor`

Enclosing interface:
  OracleTypeMetaData

    public static interface OracleTypeMetaData.Struct
    extends OracleTypeMetaData

This nested interface defines additional methods for struct types

### Nested Class Summary

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

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

### Method Summary

All Methods Instance Methods Abstract Methods
`int` `getLength()` The number of fields in the Object Type.
`int` `getLocalAttributeCount()` Returns the number of attributes defined in the subtype.
`java.sql.ResultSetMetaData` `getMetaData()` Gets the metadata regarding this type.
`java.lang.String[]` `getSubtypeNames()` Returns the SQL type names of the direct subtypes.
`java.lang.String` `getSupertypeName()` Returns the SQL type name of the direct subtype.
`int` `getTypeVersion()`
`boolean` `isFinalType()` Indicates whether the object type is a final type.
`boolean` `isInstantiable()` Indicates whether the object type is instantiable.
`boolean` `isSubtype()` Indicates whether the object type is a subtype.

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

`getKind, getName, getSchemaName, getSQLName, getTypeCode, getTypeCodeName`

### Method Detail

#### getTypeVersion

    int getTypeVersion()
                throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### getLength

    int getLength()
           throws java.sql.SQLException

The number of fields in the Object Type.

Returns:
  the size.
Throws:
  `java.sql.SQLException`

#### getMetaData

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

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).

Returns:
  a ResultSetMetaData object that contains the type info
Throws:
  `java.sql.SQLException`

#### isFinalType

    boolean isFinalType()
                 throws java.sql.SQLException

Indicates whether the object type is a final type.

Returns:
  true if the object type is a final type and false otherwise.
Throws:
  `java.sql.SQLException`

#### isSubtype

    boolean isSubtype()
               throws java.sql.SQLException

Indicates whether the object type is a subtype.

Returns:
  true if the object type is a subtype and false otherwise.
Throws:
  `java.sql.SQLException`

#### isInstantiable

    boolean isInstantiable()
                    throws java.sql.SQLException

Indicates whether the object type is instantiable.

Returns:
  true if the object type is instantiable and false otherwise.
Throws:
  `java.sql.SQLException`

#### getSupertypeName

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

Returns the SQL type name of the direct subtype.

Returns:
  the fully qualified name of the supertype. Returns null if the object type is not a subtype.
Throws:
  `java.sql.SQLException`

#### getLocalAttributeCount

    int getLocalAttributeCount()
                        throws java.sql.SQLException

Returns the number of attributes defined in the subtype.

Returns:
  number of subtype attributes.
Throws:
  `java.sql.SQLException`

#### getSubtypeNames

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

Returns the SQL type names of the direct subtypes.

Returns:
  the fully qualified name of the direct subtypes. Returns an empty String array if there is no subtypes.
Throws:
  `java.sql.SQLException`