Package oracle.sql

Class STRUCT

All Implemented Interfaces:
Serializable, Struct, oracle.jdbc.internal.ACProxyable, oracle.jdbc.internal.OracleConcreteProxy, oracle.jdbc.internal.OracleDatumWithConnection, oracle.jdbc.internal.OracleStruct, OracleStruct
Direct Known Subclasses:
JAVA_STRUCT

public class STRUCT extends DatumWithConnection implements oracle.jdbc.internal.OracleStruct, oracle.jdbc.internal.OracleConcreteProxy
Deprecated.
Use java.sql.Struct interface for declaration instead of using concrete class oracle.sql.STRUCT.
This class has two roles.
  • It is the Oracle implementation class for the generic JDBC Struct interface.
  • It wraps the "raw bytes" of an Oracle Object Type.
Like other classes in oracle.sql. it is a value class. That is, once it is constructed the user should not change its contents. Use Struct interface for declaration instead of using concrete class oracle.sql.STRUCT. java.sql.Struct has methods declared for all opertions. For Oracle specific methods use the interface OracleStruct.

Obtaining a Struct from the ResultSet

java.sql.Struct struct = resultSet.getStruct(...);

Creating a Struct using factory method Connection.createStruct(java.lang.String, java.lang.Object[])

java.sql.Struct struct = connection.createStruct(...);
See Also:
  • Field Details

    • target

      protected oracle.jdbc.driver.OracleStruct target
      Deprecated.
  • Constructor Details

    • STRUCT

      public STRUCT(StructDescriptor type, Connection conn, Object[] attributes) throws SQLException
      Deprecated.
      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. For inherited object types we must check that the descriptor indicates that the type is instantiable. That database does not check on e.g. insertion but only on PL/SQL object creation. So we have to check here, too. There is an argument to be made that there is a good use for the STRUCT instance to carry data around and that the error ought to be when an insertion or udpate is attempted. But this keeps the "not instantiable" rather than "not storable" notion. And is is much more simple.
      Parameters:
      type - the SQLStructType used to convert the type to
      attributes - the array specifying the attributes to be converted to raw bytes.
      Throws:
      SQLException
      See Also:
      • oracle.sql.SQLStructType
    • STRUCT

      public STRUCT(StructDescriptor type, Connection conn, Map attrList) throws SQLException
      Deprecated.
      Throws:
      SQLException
  • Method Details

    • getTarget

      public oracle.jdbc.driver.OracleStruct getTarget()
      Deprecated.
    • getSQLTypeName

      public String getSQLTypeName() throws SQLException
      Deprecated.
      Implements the Struct interface function Retrieves the SQL type name of the SQL structured type that this Struct object represents.
      Specified by:
      getSQLTypeName in interface Struct
      Returns:
      the fully-qualified type name of the SQL structured type for which this Struct object is the generic representation
      Throws:
      SQLException - if a database access error occurs
    • getAttributes

      public Object[] getAttributes() throws SQLException
      Deprecated.
      Implements the Struct interface function. Produces the ordered values of the attributes of the SQL structure type that this Struct object represents. Each call returns a fresh array. This method uses the type map associated with the connection for customizations of the type mappings. If there is no entry in the connection's type map that matches the structured type that this Struct object represents, the driver uses the standard mapping.

      Conceptually, this method calls the method getObject on each attribute of the structured type and returns a Java array containing the result.

      Specified by:
      getAttributes in interface Struct
      Returns:
      an array containing the ordered attribute values
      Throws:
      SQLException - if a database access error occurs
    • getAttributes

      public Object[] getAttributes(Map map) throws SQLException
      Deprecated.
      Implements the Struct interface function. Produces the ordered values of the attributes of the SQL structurec type that this Struct object represents. Each call returns a fresh array. This method uses the given type map for customizations of the type mappings. If there is no entry in the given type map that matches the structured type that this Struct object represents, the driver uses the standard mapping.

      Conceptually, this method calls the method getObject on each attribute of the structured type and returns a Java array containing the result.

      Specified by:
      getAttributes in interface Struct
      Parameters:
      map - a mapping of SQL type names to Java classes
      Returns:
      an array containing the ordered attribute values
      Throws:
      SQLException - if a database access error occurs
    • getOracleMetaData

      public OracleTypeMetaData getOracleMetaData() throws SQLException
      Deprecated.
      Return the type data for this object
      Specified by:
      getOracleMetaData in interface OracleStruct
      Returns:
      type metadata
      Throws:
      SQLException - if an error occurs
      Since:
      11.2.0.3.0
    • getDescriptor

      public StructDescriptor getDescriptor() throws SQLException
      Deprecated.
      Oracle extension. Return the StructDescriptor object that contains the type information.
      Specified by:
      getDescriptor in interface oracle.jdbc.internal.OracleStruct
      Returns:
      the type descriptor
      Throws:
      SQLException
    • getOracleAttributes

      public Datum[] getOracleAttributes() throws SQLException
      Deprecated.
      Oracle extension. Retrun the array of Attributes as oracle.sql.XXX's. A fresh array is returned each time getOracleAttributes is called.
      Specified by:
      getOracleAttributes in interface oracle.jdbc.internal.OracleStruct
      Returns:
      Datum array that containing the ordered attribute values as oracle.sql.Datum objects.
      Throws:
      SQLException
    • getDatumArray

      public Datum[] getDatumArray()
      Deprecated.
      Specified by:
      getDatumArray in interface oracle.jdbc.internal.OracleStruct
    • setNullDatumArray

      public void setNullDatumArray()
      Deprecated.
      Set the variable null. (INTERNAL)
      Specified by:
      setNullDatumArray in interface oracle.jdbc.internal.OracleStruct
    • getObjectArray

      public Object[] getObjectArray()
      Deprecated.
      Specified by:
      getObjectArray in interface oracle.jdbc.internal.OracleStruct
    • setNullObjectArray

      public void setNullObjectArray()
      Deprecated.
      Set the variable null. (INTERNAL)
      Specified by:
      setNullObjectArray in interface oracle.jdbc.internal.OracleStruct
    • toJdbc

      public Object toJdbc() throws SQLException
      Deprecated.
      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
      Specified by:
      toJdbc in class Datum
      Returns:
      an object containing the JDBC value
      Throws:
      SQLException - if conversion to JDBC representation results in an error
    • toJdbc

      public Object toJdbc(Map map) throws SQLException
      Deprecated.
      Oracle extension. Consults the map to determine what class to convert to, and then uses toClass
      Specified by:
      toJdbc in interface oracle.jdbc.internal.OracleStruct
      Throws:
      SQLException
    • isConvertibleTo

      public boolean isConvertibleTo(Class<?> jClass)
      Deprecated.
      Determines if datum object can be converted to a particular class
      Specified by:
      isConvertibleTo in interface oracle.jdbc.internal.OracleDatumWithConnection
      Specified by:
      isConvertibleTo in interface oracle.jdbc.internal.OracleStruct
      Specified by:
      isConvertibleTo in class Datum
      Parameters:
      cls - Class to convert to
      Returns:
      true, if conversion to cls is permitted false, if conversion to cls is not permitted
    • setAutoBuffering

      public void setAutoBuffering(boolean enable) throws SQLException
      Deprecated.
      Performance hint. Sets this struct's auto-buffering mode. If a struct is in auto-buffering mode, then the struct will keep a local copy of all its attributes. Then the next access to the same attributes will return a cloned copy. Otherwise, type conversion for each element is required. By default, a STRUCT is NOT in auto-buffering mode.
      Specified by:
      setAutoBuffering in interface oracle.jdbc.internal.OracleStruct
      Parameters:
      enable - - true enables auto-buffering; false disables auto-buffering
      Throws:
      SQLException
      Since:
      8.1.7
      See Also:
    • getAutoBuffering

      public boolean getAutoBuffering() throws SQLException
      Deprecated.
      Performance hint. Get the current auto-buffering state.
      Specified by:
      getAutoBuffering in interface oracle.jdbc.internal.OracleStruct
      Returns:
      the current state of auto-buffering
      Throws:
      SQLException
      Since:
      8.1.7
      See Also:
    • getOracleDataFactory

      public OracleDataFactory getOracleDataFactory(Hashtable map, String classname) throws SQLException
      Deprecated.
      Throws:
      SQLException
    • getJavaSqlConnection

      public Connection getJavaSqlConnection() throws SQLException
      Deprecated.
      Description copied from class: DatumWithConnection
      Oracle extension Return the java.sql.Connection associated with the receiver. Since 9.0.0 not all Oracle JDBC connection objects are assignment compatible with oracle.jdbc.driver.OracleConnection. If the connection is wrapped, return the outermost wrapper.
      Specified by:
      getJavaSqlConnection in interface oracle.jdbc.internal.OracleDatumWithConnection
      Specified by:
      getJavaSqlConnection in interface oracle.jdbc.internal.OracleStruct
      Overrides:
      getJavaSqlConnection in class DatumWithConnection
      Returns:
      the connection
      Throws:
      SQLException - if an error occurs
    • dump

      public String dump() throws SQLException
      Deprecated.
      Create a string which show the contents of this Object and of all its component parts.
      Throws:
      SQLException
    • dump

      public static void dump(Object o, PrintStream ps) throws SQLException
      Deprecated.
      Throws:
      SQLException
    • dump

      public static void dump(Object o, PrintWriter pw) throws SQLException
      Deprecated.
      Throws:
      SQLException