is new.
java.lang.Objectjavax.sql.rowset.serial.SerialArray
public class SerialArray
A serialized version of an Array object, which is the mapping in the Java programming language of an SQL ARRAY value.
The SerialArray class provides a constructor for creating a SerialArray instance from an Array object, methods for getting the base type and the SQL name for the base type, and methods for copying all or part of a SerialArray object.
Note: In order for this class to function correctly, a connection to the data source must be available in order for the SQL Array object to be materialized (have all of its elements brought to the client server) if necessary. At this time, logical pointers to the data in the data source, such as locators, are not currently supported.
| Constructor Summary | |
|---|---|
|
SerialArray
(
Array
array) Constructs a new SerialArray object from the given Array object. |
|
|
SerialArray
(
Array
array,
Map
<
String
,
Class
<?>> map) Constructs a new SerialArray object from the given Array object, using the given type map for the custom mapping of each element when the elements are SQL UDTs. |
|
| Method Summary | |
|---|---|
void
|
free
()
This method frees the Array object and releases the resources that it holds.
|
| Object |
getArray
() Returns a new array that is a copy of this SerialArray object. |
| Object |
getArray
(long index, int count) Returns a new array that is a copy of a slice of this SerialArray object, starting with the element at the given index and containing the given number of consecutive elements. |
| Object |
getArray
(long index, int count,
Map
<
String
,
Class
<?>> map) Returns a new array that is a copy of a slice of this SerialArray object, starting with the element at the given index and containing the given number of consecutive elements. |
| Object |
getArray
(
Map
<
String
,
Class
<?>> map) Returns a new array that is a copy of this SerialArray object, using the given type map for the custom mapping of each element when the elements are SQL UDTs. |
| int |
getBaseType
() Retrieves the SQL type of the elements in this SerialArray object. |
| String |
getBaseTypeName
() Retrieves the DBMS-specific type name for the elements in this SerialArray object. |
| ResultSet |
getResultSet
() Retrieves a ResultSet object that contains all of the elements in the ARRAY value that this SerialArray object represents. |
| ResultSet |
getResultSet
(long index, int count) Retrieves a ResultSet object holding the elements of the subarray that starts at index index and contains up to count successive elements. |
| ResultSet |
getResultSet
(long index, int count,
Map
<
String
,
Class
<?>> map) Retrieves a result set holding the elements of the subarray that starts at Retrieves a ResultSet object that contains a subarray of the elements in this SerialArray object, starting at index index and containing up to count successive elements. |
| ResultSet |
getResultSet
(
Map
<
String
,
Class
<?>> map) Retrieves a ResultSet object that contains all of the elements of the SQL ARRAY value represented by this SerialArray object. |
| Methods inherited from class java.lang. Object |
|---|
| clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
| Constructor Detail |
|---|
public SerialArray(Array array,
Map<String,Class<?>> map)
throws SerialException,
SQLException
This method does custom mapping if the array elements are a UDT and the given type map has an entry for that UDT. Custom mapping is recursive, meaning that if, for instance, an element of an SQL structured type is an SQL structured type that itself has an element that is an SQL structured type, each structured type that has a custom mapping will be mapped according to the given type map.
The new SerialArray object contains the same elements as the Array object from which it is built, except when the base type is the SQL type STRUCT, ARRAY, BLOB, CLOB, DATALINK or JAVA_OBJECT. In this case, each element in the new SerialArray object is the appropriate serialized form, that is, a SerialStruct, SerialArray, SerialBlob, SerialClob, SerialDatalink, or SerialJavaObject object.
Note: (1) The Array object from which a SerialArray object is created must have materialized the SQL ARRAY value's data on the client before it is passed to the constructor. Otherwise, the new SerialArray object will contain no data.
Note: (2) If the Array contains java.sql.Types.JAVA_OBJECT types, the SerialJavaObject constructor is called where checks are made to ensure this object is serializable.
Note: (3) The Array object supplied to this constructor cannot return null for any Array.getArray() methods. SerialArray cannot serialize null array values.
public SerialArray(Array array)
throws SerialException,
SQLException
This constructor does not do custom mapping. If the base type of the array is an SQL structured type and custom mapping is desired, the constructor SerialArray(Array array, Map map) should be used.
The new SerialArray object contains the same elements as the Array object from which it is built, except when the base type is the SQL type BLOB, CLOB, DATALINK or JAVA_OBJECT. In this case, each element in the new SerialArray object is the appropriate serialized form, that is, a SerialBlob, SerialClob, SerialDatalink, or SerialJavaObject object.
Note: (1) The Array object from which a SerialArray object is created must have materialized the SQL ARRAY value's data on the client before it is passed to the constructor. Otherwise, the new SerialArray object will contain no data.
Note: (2) The Array object supplied to this constructor cannot return null for any Array.getArray() methods. SerialArray cannot serialize null array values.
| Method Detail |
|---|
free
public void
free
() throws
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
Array
Throws:
SQLException
- if an error occurs releasing the Array's resources
SQLFeatureNotSupportedException
- if the JDBC driver does not support this method
Since:
1.6
public Object getArray()
throws SerialException
public Object getArray(Map<String,Class<?>> map)
throws SerialException
This method does custom mapping if the array elements are a UDT and the given type map has an entry for that UDT. Custom mapping is recursive, meaning that if, for instance, an element of an SQL structured type is an SQL structured type that itself has an element that is an SQL structured type, each structured type that has a custom mapping will be mapped according to the given type map.
public Object getArray(long index,
int count)
throws SerialException
public Object getArray(long index,
int count,
Map<String,Class<?>> map)
throws SerialException
This method does custom mapping if the array elements are a UDT and the given type map has an entry for that UDT. Custom mapping is recursive, meaning that if, for instance, an element of an SQL structured type is an SQL structured type that itself has an element that is an SQL structured type, each structured type that has a custom mapping will be mapped according to the given type map.
public int getBaseType()
throws SerialException
public String getBaseTypeName()
throws SerialException
public ResultSet getResultSet(long index,
int count)
throws SerialException
public ResultSet getResultSet(Map<String,Class<?>> map)
throws SerialException
map
,
public ResultSet getResultSet()
throws SerialException
public ResultSet getResultSet(long index,
int count,
Map<String,Class<?>> map)
throws SerialException