Package virtuoso.jdbc4

## Class VirtuosoArray

- java.lang.Object
- - virtuoso.jdbc4.VirtuosoArray

All Implemented Interfaces:
  `java.sql.Array`

    public class VirtuosoArray
    extends java.lang.Object
    implements java.sql.Array

### Constructor Summary

Constructors
`VirtuosoArray​(VirtuosoConnection conn, java.lang.String typeName, java.lang.Object[] arr_data)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `free​()` This method frees the `Array` object and releases the resources that it holds.
`java.lang.Object` `getArray​()` Retrieves the contents of the SQL `ARRAY` value designated by this `Array` object in the form of an array in the Java programming language.
`java.lang.Object` `getArray​(long index, int count)` Retrieves a slice of the SQL `ARRAY` value designated by this `Array` object, beginning with the specified `index` and containing up to `count` successive elements of the SQL array.
`java.lang.Object` `getArray​(long index, int count, java.util.Map<java.lang.String,java.lang.Class<?>> map)` Retreives a slice of the SQL `ARRAY` value designated by this `Array` object, beginning with the specified `index` and containing up to `count` successive elements of the SQL array.
`java.lang.Object` `getArray​(java.util.Map<java.lang.String,java.lang.Class<?>> map)` Retrieves the contents of the SQL `ARRAY` value designated by this `Array` object.
`int` `getBaseType​()` Retrieves the JDBC type of the elements in the array designated by this `Array` object.
`java.lang.String` `getBaseTypeName​()` Retrieves the SQL type name of the elements in the array designated by this `Array` object.
`java.sql.ResultSet` `getResultSet​()` Retrieves a result set that contains the elements of the SQL `ARRAY` value designated by this `Array` object.
`java.sql.ResultSet` `getResultSet​(long index, int count)` Retrieves a result set holding the elements of the subarray that starts at index `index` and contains up to `count` successive elements.
`java.sql.ResultSet` `getResultSet​(long index, int count, java.util.Map<java.lang.String,java.lang.Class<?>> map)` Retrieves a result set holding the elements of the subarray that starts at index `index` and contains up to `count` successive elements.
`java.sql.ResultSet` `getResultSet​(java.util.Map<java.lang.String,java.lang.Class<?>> map)` Retrieves a result set that contains the elements of the SQL `ARRAY` value designated by this `Array` object.

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

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

### Constructor Detail

#### VirtuosoArray

    public VirtuosoArray​(VirtuosoConnection conn,
                         java.lang.String typeName,
                         java.lang.Object[] arr_data)
                  throws VirtuosoException

Throws:
  `VirtuosoException`

### Method Detail

#### getBaseTypeName

    public java.lang.String getBaseTypeName​()
                                     throws java.sql.SQLException

Retrieves the SQL type name of the elements in the array designated by this `Array` 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.

Specified by:
  `getBaseTypeName` in interface `java.sql.Array`
Returns:
  a `String` 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:
  `java.sql.SQLException` - if an error occurs while attempting to access the type name
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.2

#### getBaseType

    public int getBaseType​()
                    throws java.sql.SQLException

Retrieves the JDBC type of the elements in the array designated by this `Array` object.

Specified by:
  `getBaseType` in interface `java.sql.Array`
Returns:
  a constant from the class `Types` that is the type code for the elements in the array designated by this `Array` object
Throws:
  `java.sql.SQLException` - if an error occurs while attempting to access the base type
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.2

#### getArray

    public java.lang.Object getArray​()
                              throws java.sql.SQLException

Retrieves the contents of the SQL `ARRAY` value designated by this `Array` object in the form of an array in the Java programming language. This version of the method `getArray` uses the type map associated with the connection for customizations of the type mappings.

Note: When `getArray` 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 of `Object`.

Specified by:
  `getArray` in interface `java.sql.Array`
Returns:
  an array in the Java programming language that contains the ordered elements of the SQL `ARRAY` value designated by this `Array` object
Throws:
  `java.sql.SQLException` - if an error occurs while attempting to access the array
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.2

#### getArray

    public java.lang.Object getArray​(java.util.Map<java.lang.String,java.lang.Class<?>> map)
                              throws java.sql.SQLException

Retrieves the contents of the SQL `ARRAY` value designated by this `Array` object. This method uses the specified `map` for type map customizations unless the base type of the array does not match a user-defined type in `map`, in which case it uses the standard mapping. This version of the method `getArray` uses either the given type map or the standard mapping; it never uses the type map associated with the connection.

Note: When `getArray` 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 of `Object`.

Specified by:
  `getArray` in interface `java.sql.Array`
Parameters:
  `map` - a `java.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:
  `java.sql.SQLException` - if an error occurs while attempting to access the array
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.2

#### getArray

    public java.lang.Object getArray​(long index,
                                     int count)
                              throws java.sql.SQLException

Retrieves a slice of the SQL `ARRAY` value designated by this `Array` object, beginning with the specified `index` and containing up to `count` successive elements of the SQL array. This method uses the type map associated with the connection for customizations of the type mappings.

Note: When `getArray` 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 of `Object`.

Specified by:
  `getArray` in interface `java.sql.Array`
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 to `count` consecutive elements of the SQL array, beginning with element `index`
Throws:
  `java.sql.SQLException` - if an error occurs while attempting to access the array
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.2

#### getArray

    public java.lang.Object getArray​(long index,
                                     int count,
                                     java.util.Map<java.lang.String,java.lang.Class<?>> map)
                              throws java.sql.SQLException

Retreives a slice of the SQL `ARRAY` value designated by this `Array` object, beginning with the specified `index` and containing up to `count` successive elements of the SQL array.

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

Note: When `getArray` 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 of `Object`.

Specified by:
  `getArray` in interface `java.sql.Array`
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` - a `java.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 to `count` consecutive elements of the SQL `ARRAY` value designated by this `Array` object, beginning with element `index`
Throws:
  `java.sql.SQLException` - if an error occurs while attempting to access the array
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.2

#### getResultSet

    public java.sql.ResultSet getResultSet​()
                                    throws java.sql.SQLException

Retrieves a result set that contains the elements of the SQL `ARRAY` value designated by this `Array` 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.

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

#### getResultSet

    public java.sql.ResultSet getResultSet​(java.util.Map<java.lang.String,java.lang.Class<?>> map)
                                    throws java.sql.SQLException

Retrieves a result set that contains the elements of the SQL `ARRAY` value designated by this `Array` object. This method uses the specified `map` for type map customizations unless the base type of the array does not match a user-defined type in `map`, in which case it uses the standard mapping. This version of the method `getResultSet` 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.

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

#### getResultSet

    public java.sql.ResultSet getResultSet​(long index,
                                           int count)
                                    throws java.sql.SQLException

Retrieves a result set holding the elements of the subarray that starts at index `index` and contains up to `count` 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 index `index`. The result set has up to `count` 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.

Specified by:
  `getResultSet` in interface `java.sql.Array`
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:
  a `ResultSet` object containing up to `count` consecutive elements of the SQL array designated by this `Array` object, starting at index `index`.
Throws:
  `java.sql.SQLException` - if an error occurs while attempting to access the array
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.2

#### getResultSet

    public java.sql.ResultSet getResultSet​(long index,
                                           int count,
                                           java.util.Map<java.lang.String,java.lang.Class<?>> map)
                                    throws java.sql.SQLException

Retrieves a result set holding the elements of the subarray that starts at index `index` and contains up to `count` successive elements. This method uses the specified `map` for type map customizations unless the base type of the array does not match a user-defined type in `map`, in which case it uses the standard mapping. This version of the method `getResultSet` 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 index `index`. The result set has up to `count` rows in ascending order based on the indices. Each row has two columns: The second column stores the element value; the first column stroes the index into the array for that element.

Specified by:
  `getResultSet` in interface `java.sql.Array`
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` - the `Map` object that contains the mapping of SQL type names to classes in the Java(tm) programming language
Returns:
  a `ResultSet` object containing up to `count` consecutive elements of the SQL array designated by this `Array` object, starting at index `index`.
Throws:
  `java.sql.SQLException` - if an error occurs while attempting to access the array
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.2

#### free

    public void free​()
              throws java.sql.SQLException

This method frees the `Array` object and releases the resources that it holds. The object is invalid once the `free` method is called.

After `free` has been called, any attempt to invoke a method other than `free` will result in a `SQLException` being thrown. If `free` is called multiple times, the subsequent calls to `free` are treated as a no-op.

Specified by:
  `free` in interface `java.sql.Array`
Throws:
  `java.sql.SQLException` - if an error occurs releasing the Array's resources
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6