Module java.sql
Package java.sql

Interface Array

All Known Implementing Classes:
SerialArray

public interfaceArray
The mapping in the Java programming language for the SQL typeARRAY. By default, anArray value is a transaction-duration reference to an SQLARRAY value. By default, anArray object is implemented using an SQL LOCATOR(array) internally, which means that anArray object contains a logical pointer to the data in the SQLARRAY value rather than containing theARRAY value's data.

TheArray interface provides methods for bringing an SQLARRAY value's data to the client as either an array or aResultSet object. If the elements of the SQLARRAY are a UDT, they may be custom mapped. To create a custom mapping, a programmer must do two things:

  • create a class that implements theSQLData interface for the UDT to be custom mapped.
  • make an entry in a type map that contains
    • the fully-qualified SQL type name of the UDT
    • theClass object for the class implementingSQLData

When a type map with an entry for the base type is supplied to the methodsgetArray andgetResultSet, the mapping it contains will be used to map the elements of theARRAY value. If no type map is supplied, which would typically be the case, the connection's type map is used by default. If the connection's type map or a type map supplied to a method has no entry for the base type, the elements are mapped according to the standard mapping.

All methods on theArray interface must be fully implemented if the JDBC driver supports the data type.

Since:
1.2
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    This method frees theArray object and releases the resources that it holds.
    Retrieves the contents of the SQLARRAY value designated by thisArray object in the form of an array in the Java programming language.
    getArray(long index, int count)
    Retrieves a slice of the SQLARRAY value designated by thisArray object, beginning with the specifiedindex and containing up tocount successive elements of the SQL array.
    getArray(long index, int count,Map<String,Class<?>> map)
    Retrieves a slice of the SQLARRAY value designated by thisArray object, beginning with the specifiedindex and containing up tocount successive elements of the SQL array.
    Retrieves the contents of the SQLARRAY value designated by thisArray object.
    int
    Retrieves the JDBC type of the elements in the array designated by thisArray object.
    Retrieves the SQL type name of the elements in the array designated by thisArray object.
    Retrieves a result set that contains the elements of the SQLARRAY value designated by thisArray object.
    getResultSet(long index, int count)
    Retrieves a result set holding the elements of the subarray that starts at indexindex and contains up tocount successive elements.
    getResultSet(long index, int count,Map<String,Class<?>> map)
    Retrieves a result set holding the elements of the subarray that starts at indexindex and contains up tocount successive elements.
    Retrieves a result set that contains the elements of the SQLARRAY value designated by thisArray object.
  • Method Details

    • getBaseTypeName

      String getBaseTypeName() throwsSQLException
      Retrieves the SQL type name of the elements in the array designated by thisArray object. If the elements are a built-in type, it returns the database-specific type name of the elements. If the elements are a user-defined type (UDT), this method returns the fully-qualified SQL type name.
      Returns:
      aString that is the database-specific name for a built-in base type; or the fully-qualified SQL type name for a base type that is a UDT
      Throws:
      SQLException - if an error occurs while attempting to access the type name
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getBaseType

      int getBaseType() throwsSQLException
      Retrieves the JDBC type of the elements in the array designated by thisArray object.
      Returns:
      a constant from the classTypes that is the type code for the elements in the array designated by thisArray object
      Throws:
      SQLException - if an error occurs while attempting to access the base type
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getArray

      Object getArray() throwsSQLException
      Retrieves the contents of the SQLARRAY value designated by thisArray object in the form of an array in the Java programming language. This version of the methodgetArray uses the type map associated with the connection for customizations of the type mappings.

      Note: WhengetArray is used to materialize a base type that maps to a primitive data type, then it is implementation-defined whether the array returned is an array of that primitive data type or an array ofObject.

      Returns:
      an array in the Java programming language that contains the ordered elements of the SQLARRAY value designated by thisArray object
      Throws:
      SQLException - if an error occurs while attempting to access the array
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getArray

      Object getArray(Map<String,Class<?>> map) throwsSQLException
      Retrieves the contents of the SQLARRAY value designated by thisArray object. This method uses the specifiedmap for type map customizations unless the base type of the array does not match a user-defined type inmap, in which case it uses the standard mapping. This version of the methodgetArray uses either the given type map or the standard mapping; it never uses the type map associated with the connection.

      Note: WhengetArray is used to materialize a base type that maps to a primitive data type, then it is implementation-defined whether the array returned is an array of that primitive data type or an array ofObject.

      Parameters:
      map - ajava.util.Map object that contains mappings of SQL type names to classes in the Java programming language
      Returns:
      an array in the Java programming language that contains the ordered elements of the SQL array designated by this object
      Throws:
      SQLException - if an error occurs while attempting to access the array
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getArray

      Object getArray(long index, int count) throwsSQLException
      Retrieves a slice of the SQLARRAY value designated by thisArray object, beginning with the specifiedindex and containing up tocount successive elements of the SQL array. This method uses the type map associated with the connection for customizations of the type mappings.

      Note: WhengetArray is used to materialize a base type that maps to a primitive data type, then it is implementation-defined whether the array returned is an array of that primitive data type or an array ofObject.

      Parameters:
      index - the array index of the first element to retrieve; the first element is at index 1
      count - the number of successive SQL array elements to retrieve
      Returns:
      an array containing up tocount consecutive elements of the SQL array, beginning with elementindex
      Throws:
      SQLException - if an error occurs while attempting to access the array
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getArray

      Object getArray(long index, int count,Map<String,Class<?>> map) throwsSQLException
      Retrieves a slice of the SQLARRAY value designated by thisArray object, beginning with the specifiedindex and containing up tocount successive elements of the SQL array.

      This method uses the specifiedmap for type map customizations unless the base type of the array does not match a user-defined type inmap, in which case it uses the standard mapping. This version of the methodgetArray uses either the given type map or the standard mapping; it never uses the type map associated with the connection.

      Note: WhengetArray is used to materialize a base type that maps to a primitive data type, then it is implementation-defined whether the array returned is an array of that primitive data type or an array ofObject.

      Parameters:
      index - the array index of the first element to retrieve; the first element is at index 1
      count - the number of successive SQL array elements to retrieve
      map - ajava.util.Map object that contains SQL type names and the classes in the Java programming language to which they are mapped
      Returns:
      an array containing up tocount consecutive elements of the SQLARRAY value designated by thisArray object, beginning with elementindex
      Throws:
      SQLException - if an error occurs while attempting to access the array
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getResultSet

      ResultSet getResultSet() throwsSQLException
      Retrieves a result set that contains the elements of the SQLARRAY value designated by thisArray object. If appropriate, the elements of the array are mapped using the connection's type map; otherwise, the standard mapping is used.

      The result set contains one row for each array element, with two columns in each row. The second column stores the element value; the first column stores the index into the array for that element (with the first array element being at index 1). The rows are in ascending order corresponding to the order of the indices.

      Returns:
      aResultSet object containing one row for each of the elements in the array designated by thisArray object, with the rows in ascending order based on the indices.
      Throws:
      SQLException - if an error occurs while attempting to access the array
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getResultSet

      ResultSet getResultSet(Map<String,Class<?>> map) throwsSQLException
      Retrieves a result set that contains the elements of the SQLARRAY value designated by thisArray object. This method uses the specifiedmap for type map customizations unless the base type of the array does not match a user-defined type inmap, in which case it uses the standard mapping. This version of the methodgetResultSet uses either the given type map or the standard mapping; it never uses the type map associated with the connection.

      The result set contains one row for each array element, with two columns in each row. The second column stores the element value; the first column stores the index into the array for that element (with the first array element being at index 1). The rows are in ascending order corresponding to the order of the indices.

      Parameters:
      map - contains the mapping of SQL user-defined types to classes in the Java programming language
      Returns:
      aResultSet object containing one row for each of the elements in the array designated by thisArray object, with the rows in ascending order based on the indices.
      Throws:
      SQLException - if an error occurs while attempting to access the array
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getResultSet

      ResultSet getResultSet(long index, int count) throwsSQLException
      Retrieves a result set holding the elements of the subarray that starts at indexindex and contains up tocount successive elements. This method uses the connection's type map to map the elements of the array if the map contains an entry for the base type. Otherwise, the standard mapping is used.

      The result set has one row for each element of the SQL array designated by this object, with the first row containing the element at indexindex. The result set has up tocount rows in ascending order based on the indices. Each row has two columns: The second column stores the element value; the first column stores the index into the array for that element.

      Parameters:
      index - the array index of the first element to retrieve; the first element is at index 1
      count - the number of successive SQL array elements to retrieve
      Returns:
      aResultSet object containing up tocount consecutive elements of the SQL array designated by thisArray object, starting at indexindex.
      Throws:
      SQLException - if an error occurs while attempting to access the array
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • getResultSet

      ResultSet getResultSet(long index, int count,Map<String,Class<?>> map) throwsSQLException
      Retrieves a result set holding the elements of the subarray that starts at indexindex and contains up tocount successive elements. This method uses the specifiedmap for type map customizations unless the base type of the array does not match a user-defined type inmap, in which case it uses the standard mapping. This version of the methodgetResultSet uses either the given type map or the standard mapping; it never uses the type map associated with the connection.

      The result set has one row for each element of the SQL array designated by this object, with the first row containing the element at indexindex. The result set has up tocount rows in ascending order based on the indices. Each row has two columns: The second column stores the element value; the first column stores the index into the array for that element.

      Parameters:
      index - the array index of the first element to retrieve; the first element is at index 1
      count - the number of successive SQL array elements to retrieve
      map - theMap object that contains the mapping of SQL type names to classes in the Java(tm) programming language
      Returns:
      aResultSet object containing up tocount consecutive elements of the SQL array designated by thisArray object, starting at indexindex.
      Throws:
      SQLException - if an error occurs while attempting to access the array
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.2
    • free

      void free() throwsSQLException
      This method frees theArray object and releases the resources that it holds. The object is invalid once thefree method is called.

      Afterfree has been called, any attempt to invoke a method other thanfree will result in aSQLException being thrown. Iffree is called multiple times, the subsequent calls tofree are treated as a no-op.

      Throws:
      SQLException - if an error occurs releasing the Array's resources
      SQLFeatureNotSupportedException - if the JDBC driver does not support this method
      Since:
      1.6