SerialArray (Java 2 Platform SE 5.0) (original) (raw)
javax.sql.rowset.serial
Class SerialArray
java.lang.Object
javax.sql.rowset.serial.SerialArray
All Implemented Interfaces:
Serializable, Cloneable, Array
public class SerialArray
extends Object
implements Array, Serializable, Cloneable
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.
See Also:
Constructor Summary |
---|
SerialArray(Array array) Constructs a new SerialArray object from the givenArray object. |
[SerialArray](../../../../javax/sql/rowset/serial/SerialArray.html#SerialArray%28java.sql.Array, java.util.Map%29)(Array array,Map<String,Class<?>> map) Constructs a new SerialArray object from the givenArray object, using the given type map for the custom mapping of each element when the elements are SQL UDTs. |
Method Summary | |
---|---|
Object | getArray() Returns a new array that is a copy of this SerialArray object. |
Object | [getArray](../../../../javax/sql/rowset/serial/SerialArray.html#getArray%28long, int%29)(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](../../../../javax/sql/rowset/serial/SerialArray.html#getArray%28long, int, java.util.Map%29)(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 thisSerialArray object. |
ResultSet | getResultSet() Retrieves a ResultSet object that contains all of the elements in the ARRAY value that this SerialArray object represents. |
ResultSet | [getResultSet](../../../../javax/sql/rowset/serial/SerialArray.html#getResultSet%28long, int%29)(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](../../../../javax/sql/rowset/serial/SerialArray.html#getResultSet%28long, int, java.util.Map%29)(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](../../../../java/lang/Object.html#wait%28long, int%29) |
Constructor Detail |
---|
SerialArray
public SerialArray(Array array, Map<String,Class<?>> map) throws SerialException, SQLException
Constructs a new SerialArray
object from the givenArray
object, using the given type map for the custom mapping of each element when the elements are SQL UDTs.
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 typeSTRUCT
, 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.
Parameters:
array
- the Array
object to be serialized
map
- a java.util.Map
object in which each entry consists of 1) a String
object giving the fully qualified name of a UDT (an SQL structured type or distinct type) and 2) theClass
object for the SQLData
implementation that defines how the UDT is to be mapped. The map parameter does not have any effect for Blob
, Clob
, DATALINK
, or JAVA_OBJECT
types.
Throws:
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
- if an error occurs serializing the Array
object
[SQLException](../../../../java/sql/SQLException.html "class in java.sql")
- if a database access error occurs or if the array or the map values are null
SerialArray
public SerialArray(Array array) throws SerialException, SQLException
Constructs a new SerialArray
object from the givenArray
object.
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 constructorSerialArray(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 typeBLOB
, 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.
Parameters:
array
- the Array
object to be serialized
Throws:
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
- if an error occurs serializing the Array
object
[SQLException](../../../../java/sql/SQLException.html "class in java.sql")
- if a database access error occurs or the array parameter is null
.
Method Detail |
---|
getArray
public Object getArray() throws SerialException
Returns a new array that is a copy of this SerialArray
object.
Specified by:
[getArray](../../../../java/sql/Array.html#getArray%28%29)
in interface [Array](../../../../java/sql/Array.html "interface in java.sql")
Returns:
a copy of this SerialArray
object as anObject
in the Java programming language
Throws:
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
- if an error occurs retrieving a copy of this SerialArray
object
getArray
public Object getArray(Map<String,Class<?>> map) throws SerialException
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.
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.
Specified by:
[getArray](../../../../java/sql/Array.html#getArray%28java.util.Map%29)
in interface [Array](../../../../java/sql/Array.html "interface in java.sql")
Parameters:
map
- a java.util.Map
object in which each entry consists of 1) a String
object giving the fully qualified name of a UDT and 2) theClass
object for the SQLData
implementation that defines how the UDT is to be mapped
Returns:
a copy of this SerialArray
object as anObject
in the Java programming language
Throws:
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
- if an error occurs
getArray
public Object getArray(long index, int count) throws SerialException
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.
Specified by:
[getArray](../../../../java/sql/Array.html#getArray%28long, int%29)
in interface [Array](../../../../java/sql/Array.html "interface in java.sql")
Parameters:
index
- the index into this SerialArray
object of the first element to be copied; the index of the first element is 0
count
- the number of consecutive elements to be copied, starting at the given index
Returns:
a copy of the designated elements in this SerialArray
object as an Object
in the Java programming language
Throws:
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
- if an error occurs
getArray
public Object getArray(long index, int count, Map<String,Class<?>> map) throws SerialException
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.
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.
Specified by:
[getArray](../../../../java/sql/Array.html#getArray%28long, int, java.util.Map%29)
in interface [Array](../../../../java/sql/Array.html "interface in java.sql")
Parameters:
index
- the index into this SerialArray
object of the first element to be copied; the index of the first element in the array is 0
count
- the number of consecutive elements to be copied, starting at the given index
map
- a java.util.Map
object in which each entry consists of 1) a String
object giving the fully qualified name of a UDT and 2) theClass
object for the SQLData
implementation that defines how the UDT is to be mapped
Returns:
a copy of the designated elements in this SerialArray
object as an Object
in the Java programming language
Throws:
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
- if an error occurs
getBaseType
public int getBaseType() throws SerialException
Retrieves the SQL type of the elements in this SerialArray
object. The int
returned is one of the constants in the classjava.sql.Types
.
Specified by:
[getBaseType](../../../../java/sql/Array.html#getBaseType%28%29)
in interface [Array](../../../../java/sql/Array.html "interface in java.sql")
Returns:
one of the constants in java.sql.Types
, indicating the SQL type of the elements in this SerialArray
object
Throws:
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
- if an error occurs
getBaseTypeName
public String getBaseTypeName() throws SerialException
Retrieves the DBMS-specific type name for the elements in thisSerialArray
object.
Specified by:
[getBaseTypeName](../../../../java/sql/Array.html#getBaseTypeName%28%29)
in interface [Array](../../../../java/sql/Array.html "interface in java.sql")
Returns:
the SQL type name used by the DBMS for the base type of thisSerialArray
object
Throws:
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
- if an error occurs
getResultSet
public ResultSet getResultSet(long index, int count) throws SerialException
Retrieves a ResultSet
object 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.
Specified by:
[getResultSet](../../../../java/sql/Array.html#getResultSet%28long, int%29)
in interface [Array](../../../../java/sql/Array.html "interface in java.sql")
Parameters:
index
- the index into this SerialArray
object of the first element to be copied; the index of the first element in the array is 0
count
- the number of consecutive elements to be copied, starting at the given index
Returns:
a ResultSet
object containing the designated elements in this SerialArray
object, with a separate row for each element
Throws:
SerialException,
- which in turn throws an UnsupportedOperationException
, if this method is called
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
getResultSet
public ResultSet getResultSet(Map<String,Class<?>> map) throws SerialException
Retrieves a ResultSet
object that contains all of the elements of the SQL ARRAY
value represented by this SerialArray
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 (UDT) 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.
Specified by:
[getResultSet](../../../../java/sql/Array.html#getResultSet%28java.util.Map%29)
in interface [Array](../../../../java/sql/Array.html "interface in java.sql")
Parameters:
map
- a java.util.Map
object in which each entry consists of 1) a String
object giving the fully qualified name of a UDT and 2) theClass
object for the SQLData
implementation that defines how the UDT is to be mapped
Returns:
a ResultSet
object containing all of the elements in this SerialArray
object, with a separate row for each element
Throws:
SerialException,
- which in turn throws an UnsupportedOperationException
, if this method is called
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
---
### getResultSet
public ResultSet getResultSet() throws SerialException
Retrieves a ResultSet
object that contains all of the elements in the ARRAY
value that this SerialArray
object represents. If appropriate, the elements of the array are mapped using the connection's type map; otherwise, the standard mapping is used.
Specified by:
[getResultSet](../../../../java/sql/Array.html#getResultSet%28%29)
in interface [Array](../../../../java/sql/Array.html "interface in java.sql")
Returns:
a ResultSet
object containing all of the elements in this SerialArray
object, with a separate row for each element
Throws:
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
- if called, which in turn throws an UnsupportedOperationException
, if this method is called
---
### getResultSet
public ResultSet getResultSet(long index, int count, Map<String,Class<?>> map) throws SerialException
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. This method uses the specified map for type map customizations unless the base type of the array does not match a user-defined type (UDT) 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.
Specified by:
[getResultSet](../../../../java/sql/Array.html#getResultSet%28long, int, java.util.Map%29)
in interface [Array](../../../../java/sql/Array.html "interface in java.sql")
Parameters:
index
- the index into this SerialArray
object of the first element to be copied; the index of the first element in the array is 0
count
- the number of consecutive elements to be copied, starting at the given index
map
- a java.util.Map
object in which each entry consists of 1) a String
object giving the fully qualified name of a UDT and 2) the Class
object for the SQLData
implementation that defines how the UDT is to be mapped
Returns:
a ResultSet
object containing the designated elements in this SerialArray
object, with a separate row for each element
Throws:
[SerialException](../../../../javax/sql/rowset/serial/SerialException.html "class in javax.sql.rowset.serial")
- if called, which in turn throws an UnsupportedOperationException
---
---
Submit a bug or feature For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.