public class SerialArray extends Object implements Array, Serializable, Cloneable
Array
对象的序列化版本,它是Java编程语言中的SQL ARRAY
值的映射。
SerialArray
类提供了一个构造函数,用于从Array
对象创建一个SerialArray
实例,获取基类型的基本类型和SQL名称的方法以及复制SerialArray
对象全部或部分的方法。
注意:为了使此类正常运行,必须连接数据源才能使SQL Array
对象实现(如果需要,将其所有元素都带到客户端服务器)。 此时,当前不支持对数据源中的数据(如定位器)的逻辑指针。
Constructor and Description |
---|
SerialArray(Array array)
构造一个新
SerialArray 从给定对象
Array 对象。
|
SerialArray(Array array, Map<String,类<?>> map)
从给定的
Array 对象构造一个新的
SerialArray 对象,当元素为SQL UDT时,使用给定的类型映射来定制每个元素的映射。
|
Modifier and Type | Method and Description |
---|---|
Object |
clone()
返回此
SerialArray 的克隆。
|
boolean |
equals(Object obj)
将此SerialArray与指定的对象进行比较。
|
void |
free()
该方法可以释放
SeriableArray 对象并释放它所拥有的资源。
|
Object |
getArray()
返回一个新数组,该数组是该
SerialArray 对象的副本。
|
Object |
getArray(long index, int count)
返回一个新数组,该数组是该
SerialArray 对象的一个片段的副本,从给定索引处的元素开始,并包含给定数量的连续元素。
|
Object |
getArray(long index, int count, Map<String,类<?>> map)
返回一个新数组,它是此
SerialArray 对象的一个片段的副本,从给定索引处的元素开始,并包含给定数量的连续元素。
|
Object |
getArray(Map<String,类<?>> map)
返回一个新数组,该数组是该
SerialArray 对象的副本,当元素为SQL UDT时,使用给定的类型映射来为每个元素的自定义映射。
|
int |
getBaseType()
检索此
SerialArray 对象中的元素的SQL类型。
|
String |
getBaseTypeName()
检索此
SerialArray 对象中元素的DBMS特定类型名称。
|
ResultSet |
getResultSet()
检索一个
ResultSet 对象,该对象包含该
SerialArray 对象所代表的
ARRAY 值中的所有元素。
|
ResultSet |
getResultSet(long index, int count)
检索保存从索引
索引开始的子阵列的元素的
ResultSet 对象,并包含最多
计数连续的元素。
|
ResultSet |
getResultSet(long index, int count, Map<String,类<?>> map)
检索设置保持其开始于检索所述子阵列的元素的结果
ResultSet 对象,其中包含在该元件的子阵列
SerialArray 对象,开始于索引
指数和包含
count个连续元素。
|
ResultSet |
getResultSet(Map<String,类<?>> map)
检索
ResultSet 对象,它包含所有的SQL的元件的
ARRAY 由该表示值
SerialArray 对象。
|
int |
hashCode()
返回此SerialArray的哈希码。
|
public SerialArray(Array array, Map<String,类<?>> map) throws SerialException, SQLException
Array
对象构造一个新的SerialArray
对象,当元素是SQL UDT时,使用给定的类型映射来定义每个元素的映射。
如果数组元素是UDT,并且给定的类型映射具有该UDT的条目,则此方法将执行自定义映射。 自定义映射是递归的,这意味着,如果例如,SQL结构化类型的元素是SQL结构类型,其本身具有作为SQL结构类型的元素,那么具有自定义映射的每个结构化类型将根据给定类型地图。
新SerialArray
对象包含相同的元素, Array
从其中它是建立,除非当基类型是SQL类型对象STRUCT
, ARRAY
, BLOB
, CLOB
, DATALINK
或JAVA_OBJECT
。 在这种情况下,在新的每一个元素SerialArray
目的是适当的串行化的形式,即, SerialStruct
, SerialArray
, SerialBlob
, SerialClob
, SerialDatalink
,或SerialJavaObject
对象。
注:(1) Array
从一个对象SerialArray
创建对象,必须已经在SQL ARRAY
它传递给构造之前在客户端上值的数据。 否则,新的SerialArray
对象将不包含任何数据。
注意:(2)如果Array
包含java.sql.Types.JAVA_OBJECT
类型,则SerialJavaObject
SerialJavaObject构造函数,以确保此对象可串行化。
注意:(3)提供给此构造函数的Array
对象不能为任何Array.getArray()
方法返回null
。 SerialArray
无法序列化空数组值。
array
- 要
Array
对象
map
-一个java.util.Map
对象,其中每个条目包含:1)一个String
对象给出UDT(SQL结构类型或不同类型)和2)所述的完全合格的名称类
对象为SQLData
执行定义UDT是如何被映射。
地图参数没有任何效果Blob
, Clob
, DATALINK
,或JAVA_OBJECT
类型。
SerialException
- 如果序列化
Array
对象发生错误
SQLException
- 如果发生数据库访问错误或
数组或
映射值为
null
public SerialArray(Array array) throws SerialException, SQLException
SerialArray
从给定对象Array
对象。
此构造函数不执行自定义映射。 如果阵列的基本类型是SQL结构类型,并且需要自定义映射,则应使用构造SerialArray(Array array, Map map)
。
新SerialArray
对象包含相同的元素, Array
从其中它是建立,除非当基类型是SQL类型对象BLOB
, CLOB
, DATALINK
或JAVA_OBJECT
。 在这种情况下,在新的每一个元素SerialArray
目的是适当的串行化的形式,即, SerialBlob
, SerialClob
, SerialDatalink
,或SerialJavaObject
对象。
注:(1) Array
从一个对象SerialArray
创建对象,必须已经在SQL ARRAY
它传递给构造之前在客户端上值的数据。 否则,新的SerialArray
对象将不包含任何数据。
注意:(2)提供给此构造函数的Array
对象不能为任何Array.getArray()
方法返回null
。 SerialArray
无法序列化null
数组值。
array
- 要
Array
对象
SerialException
- 如果串行化
Array
对象发生错误
SQLException
- 如果发生数据库访问错误或
数组参数为
null
。
public void free() throws SQLException
SeriableArray
对象并释放其拥有的资源。
调用free
方法后,该对象无效。
如果free
被多次调用,则后续调用free
被视为无操作。
free
在界面
Array
SQLException
- 如果发布错误发生SerialArray的资源
public Object getArray() throws SerialException
SerialArray
对象的副本。
getArray
在界面
Array
SerialArray
对象为
Object
Java编程语言
SerialException
- 如果发生错误;
如果free
以前已经被调用了这个对象
public Object getArray(Map<String,类<?>> map) throws SerialException
SerialArray
对象的副本,当元素为SQL UDT时,使用给定的类型映射表示每个元素的自定义映射。
如果数组元素是UDT,并且给定的类型映射具有该UDT的条目,则此方法将执行自定义映射。 自定义映射是递归的,这意味着,如果例如,SQL结构化类型的元素是SQL结构类型,其本身具有作为SQL结构类型的元素,那么具有自定义映射的每个结构化类型将根据给定类型地图。
getArray
在界面
Array
map
- 一个
java.util.Map
对象,其中每个条目由1)
String
对象提供UDT的完全限定名称,2)
类
实现的
SQLData
对象,定义如何映射UDT
SerialArray
对象为
Object
Java编程语言
SerialException
- 如果发生错误;
如果free
以前已经被调用了这个对象
public Object getArray(long index, int count) throws SerialException
SerialArray
对象的一个片段的副本,从给定索引处的元素开始,并包含给定数量的连续元素。
getArray
在界面
Array
index
- 要复制的第一个元素的索引到这个SerialArray
对象;
第一个元素的索引是0
count
- 从给定索引开始的要复制的连续元素的数量
SerialArray
对象为
Object
Java编程语言
SerialException
- 如果发生错误;
如果free
以前已经被调用了这个对象
public Object getArray(long index, int count, Map<String,类<?>> map) throws SerialException
SerialArray
对象的一个片段的副本,从给定索引处的元素开始,并包含给定数量的连续元素。
如果数组元素是UDT,并且给定的类型映射具有该UDT的条目,则此方法将执行自定义映射。 自定义映射是递归的,这意味着,如果例如,SQL结构化类型的元素是SQL结构类型,其本身具有作为SQL结构类型的元素,那么具有自定义映射的每个结构化类型将根据给定类型地图。
getArray
在界面
Array
index
- 要复制的第一个元素的这个SerialArray
对象的索引;
数组中第一个元素的索引为0
count
- 从给定索引开始的要复制的连续元素的数量
map
- 一个
java.util.Map
对象,其中每个条目由1)提供UDT的完全限定名称的
String
对象组成,2)
类
实现的
SQLData
对象,该对象定义如何映射UDT
SerialArray
对象为
Object
Java编程语言
SerialException
- 如果发生错误;
如果free
以前已经被调用了这个对象
public int getBaseType() throws SerialException
SerialArray
对象中的元素的SQL类型。
int
返回的是java.sql.Types类中的java.sql.Types
。
getBaseType
在界面
Array
java.sql.Types
,表示这个
SerialArray
对象中的元素的SQL类型
SerialException
- 如果发生错误;
如果free
以前曾被调用此对象
public String getBaseTypeName() throws SerialException
SerialArray
对象中元素的DBMS特定类型名称。
getBaseTypeName
在界面
Array
SerialArray
对象的基本类型使用的SQL类型名称
SerialException
- 如果发生错误;
如果free
以前已经被调用了这个对象
public ResultSet getResultSet(long index, int count) throws SerialException
ResultSet
对象,并包含最多计数连续元素。
如果地图包含基本类型的条目,则此方法使用连接的类型映射来映射数组的元素。
否则,使用标准映射。
getResultSet
在界面
Array
index
- 要复制的第一个元素的这个SerialArray
对象的索引;
数组中第一个元素的索引为0
count
- 从给定索引开始的要复制的连续元素的数量
ResultSet
对象,包含此
SerialArray
对象中的指定元素,每个元素分别有一行
SerialException
- 如果调用原因设置为
UnsupportedOperationException
public ResultSet getResultSet(Map<String,类<?>> map) throws SerialException
ResultSet
对象,它包含所有的SQL的元件的ARRAY
由该表示值SerialArray
对象。
这种方法使用了类型映射自定义指定映射除非数组的基本类型不匹配在地图上用户定义的类型(UDT),在这种情况下,它使用标准映射。
方法getResultSet
此版本使用给定类型映射或标准映射;
它从不使用与连接相关联的类型映射。
getResultSet
在界面
Array
map
- 一个
java.util.Map
对象,其中每个条目由1)提供UDT的完全限定名称的
String
对象组成,2)用于定义UDT如何映射的
SQLData
实现的
类
对象
ResultSet
对象,包含此
SerialArray
对象中的所有元素,每个元素都有一个单独的行
SerialException
- 如果调用原因设置为
UnsupportedOperationException
public ResultSet getResultSet() throws SerialException
ResultSet
对象,该对象包含该SerialArray
对象所代表的ARRAY
值中的所有元素。
如果适当,使用连接的类型映射映射数组的元素;
否则,使用标准映射。
getResultSet
在界面
Array
ResultSet
对象,包含此
SerialArray
对象中的所有元素,每个元素都有一个单独的行
SerialException
- 如果调用原因设置为
UnsupportedOperationException
public ResultSet getResultSet(long index, int count, Map<String,类<?>> map) throws SerialException
ResultSet
对象,该对象包含此SerialArray
对象中的元素的子阵列,从索引索引开始,并包含最多计数连续元素。
这种方法使用了类型映射自定义指定映射除非数组的基本类型不匹配在地图上用户定义的类型(UDT),在这种情况下,它使用标准映射。
方法getResultSet
此版本使用给定类型映射或标准映射;
它从不使用与连接相关联的类型映射。
getResultSet
在界面
Array
index
- 要复制的第一个元素的这个SerialArray
对象的索引;
数组中第一个元素的索引为0
count
- 从给定索引开始的要复制的连续元素的数量
map
- 一个
java.util.Map
对象,其中每个条目由1)
String
对象提供UDT的完全限定名称,2)
类
实现的
SQLData
对象,定义如何映射UDT
ResultSet
此
SerialArray
对象中指定元素的
SerialArray
对象,每个元素分别有一行
SerialException
- 如果调用原因设置为
UnsupportedOperationException
public boolean equals(Object obj)
true
当且仅当参数不是null
并且是一个SerialArray
对象的元素是相同的这个对象的元素
equals
在
Object
obj
- 对比这个
SerialArray
的对象
true
如果给定的对象表示
SerialArray
相当于此SerialArray,
false
否则
Object.hashCode()
, HashMap
public int hashCode()
SerialArray
对象使用的元素的哈希码计算SerialArray
对象
hashCode
在类别
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)