- すべての実装されたインタフェース:
Serializable
,Cloneable
,Array
Array
オブジェクトの直列化バージョンであり、Javaプログラミング言語でのSQL ARRAY
値のマッピングです。
SerialArray
クラスは、Array
オブジェクトからSerialArray
インスタンスを作成するためのコンストラクタと、基底型とそのSQL名を取得するためのメソッドと、SerialArray
オブジェクトの一部または全部をコピーするためのメソッドを提供します。
ノート: このクラスを正常に動作させるためには、必要に応じてSQL Array
オブジェクトを生成する(そのすべての要素をクライアント・サーバーに移動させる)ためにデータ・ソース接続が利用可能である必要があります。 現時点では、ロケータなどのデータ・ソースのデータへの論理ポインタはサポートされていません。
スレッドの安全性
SerialArrayは、複数の並行スレッドによる使用において安全ではありません。 複数のスレッドで使用する場合は、適切な同期処理によってSerialArrayへのアクセスを制御するようにしてください。- 導入されたバージョン:
- 1.5
- 関連項目:
- 直列化された形式
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明SerialArray(Array array)
指定されたArray
オブジェクトから新しいSerialArray
オブジェクトを構築します。SerialArray(Array array, Map<String,Class<?>> map)
要素がSQL UDTであるとき、各要素のカスタム・マッピングに使用される指定の型マップを使って、指定されたArray
オブジェクトから新しいSerialArray
オブジェクトを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明clone()
このSerialArray
のクローンを返します。boolean
このSerialArrayを指定されたオブジェクトと比較します。void
free()
このメソッドは、SerialArray
オブジェクトを解放し、保持しているリソースを解放します。getArray()
このSerialArray
オブジェクトのコピーである新しい配列を返します。getArray(long index, int count)
このSerialArray
オブジェクトのスライスのコピーとなる新しい配列(指定されたインデックス位置の要素から指定の要素数分続く)を返します。このSerialArray
オブジェクトのスライスのコピーとなる新しい配列(指定されたインデックス位置の要素から指定の要素数分続く)を返します。要素がSQL UDTであるとき、各要素のカスタム・マッピングに使用される指定の型マップを使って、このSerialArray
オブジェクトのコピーである新しい配列を返します。int
このSerialArray
オブジェクト内の要素のSQL型を取得します。このSerialArray
オブジェクト内に格納された要素のDBMS固有の型名を取得します。このSerialArray
オブジェクトによって表現するARRAY
値のすべての要素が格納されているResultSet
オブジェクトを取得します。getResultSet(long index, int count)
インデックスindexで始まり、最大でcount個の連続した部分配列の要素が格納されているResultSet
オブジェクトを取得します。getResultSet(long index, int count, Map<String,Class<?>> map)
インデックスindexで始まり、最大でcount個の連続した要素を格納するSerialArray
オブジェクトの要素の部分配列を格納するResultSet
オブジェクトを取得します。getResultSet(Map<String,Class<?>> map)
このSerialArray
オブジェクトによって表現されたSQLARRAY
値のすべての要素を含むResultSet
オブジェクトを取得します。int
hashCode()
このSerialArrayのハッシュ・コードを返します。
-
コンストラクタの詳細
-
SerialArray
public SerialArray(Array array, Map<String,Class<?>> map) throws SerialException, SQLException要素がSQL UDTであるとき、各要素のカスタム・マッピングに使用される指定の型マップを使って、指定されたArray
オブジェクトから新しいSerialArray
オブジェクトを構築します。このメソッドは、配列要素がUDTで、指定された型マップにUDTのエントリがある場合に、カスタム・マッピングを行います。 カスタム・マッピングは再帰的です。たとえば、SQL構造型のある要素が、それ自体SQL構造型の要素を持つSQL構造型である場合、カスタム・マッピングを持つ各構造型が、指定の型マップに従ってマップされます。
新しい
SerialArray
オブジェクトは、その構築に使用されるArray
オブジェクトと同じ要素を格納します。ただし、基底型がSQL型のSTRUCT
、ARRAY
、BLOB
、CLOB
、DATALINK
、JAVA_OBJECT
である場合を除きます。 この場合、新しいSerialArray
オブジェクト内の各要素は、適切な直列化フォーム、すなわちSerialStruct
、SerialArray
、SerialBlob
、SerialClob
、SerialDatalink
、SerialJavaObject
のいずれかのオブジェクトになります。ノート: (1)
SerialArray
オブジェクトの作成に使用されるArray
オブジェクトは、コンストラクタに渡される前に、クライアントにSQLARRAY
値のデータを渡していなければいけません。 そうしないと、新しいSerialArray
オブジェクトはデータを持たないオブジェクトになります。ノート: (2)
Array
にjava.sql.Types.JAVA_OBJECT
型が格納されている場合、SerialJavaObject
コンストラクタが呼び出され、このオブジェクトが直列化可能であることが確認されます。ノート: (3)このコンストラクタに指定された
Array
オブジェクトは、Array.getArray()
メソッドに対してnull
を返すことはできません。SerialArray
はnull配列値を直列化できません。- パラメータ:
array
- 直列化されるArray
オブジェクトmap
-java.util.Map
オブジェクト。オブジェクト内の各エントリは、(1) UDT (SQL構造化型またはSQL DISTINCT型)の完全修飾名を指定するString
オブジェクトと、(2) UDTのマッピング方法を定義するSQLData
実装のClass
オブジェクトで構成される。 mapパラメータは、Blob
、Clob
、DATALINK
またはJAVA_OBJECT
型に対しては無効。- 例外:
SerialException
-Array
オブジェクトの直列化時にエラーが発生した場合SQLException
- データベース・アクセス・エラーが発生した場合、またはarrayかmapの値がnull
の場合
-
SerialArray
public SerialArray(Array array) throws SerialException, SQLException指定されたArray
オブジェクトから新しいSerialArray
オブジェクトを構築します。このコンストラクタは、カスタム・マッピングを行いません。 配列の基底型がSQL構造型であり、カスタム・マッピングが必要な場合は、コンストラクタ
SerialArray(Array array, Map map)
を使用する必要があります。新しい
SerialArray
オブジェクトは、その構築に使用されるArray
オブジェクトと同じ要素を格納します。ただし、基底型がSQL型のBLOB
、CLOB
、DATALINK
、JAVA_OBJECT
である場合を除きます。 この場合、新しいSerialArray
オブジェクト内の各要素は、適切な直列化フォーム、すなわちSerialBlob
、SerialClob
、SerialDatalink
、SerialJavaObject
のいずれかのオブジェクトになります。ノート: (1)
SerialArray
オブジェクトの作成に使用されるArray
オブジェクトは、コンストラクタに渡される前に、クライアントにSQLARRAY
値のデータを渡していなければいけません。 そうしないと、新しいSerialArray
オブジェクトはデータを持たないオブジェクトになります。ノート: (2)このコンストラクタに指定された
Array
オブジェクトは、Array.getArray()
メソッドに対してnull
を返すことはできません。SerialArray
はnull
配列値を直列化できません。- パラメータ:
array
- 直列化されるArray
オブジェクト- 例外:
SerialException
-Array
オブジェクトの直列化時にエラーが発生した場合SQLException
- データベース・アクセス・エラーが発生した場合、またはarrayパラメータがnull
の場合。
-
-
メソッドの詳細
-
free
public void free() throws SQLExceptionこのメソッドは、SerialArray
オブジェクトを解放し、保持しているリソースを解放します。free
メソッドが一度呼び出されたあとは、オブジェクトは無効になります。free
を複数回呼び出した場合、2回目以降のfree
呼出しは何も行わないものとして扱われます。- 定義:
free
、インタフェース:Array
- 例外:
SQLException
- SerialArrayのリソースの解放時にエラーが発生した場合- 導入されたバージョン:
- 1.6
-
getArray
public Object getArray() throws SerialExceptionこのSerialArray
オブジェクトのコピーである新しい配列を返します。- 定義:
getArray
、インタフェース:Array
- 戻り値:
- この
SerialArray
オブジェクトのコピーに相当する、Javaプログラミング言語でのObject
- 例外:
SerialException
- エラーが発生した場合、またはこのオブジェクトでfree
が以前呼び出された場合
-
getArray
public Object getArray(Map<String,Class<?>> map) throws SerialException要素がSQL UDTであるとき、各要素のカスタム・マッピングに使用される指定の型マップを使って、このSerialArray
オブジェクトのコピーである新しい配列を返します。このメソッドは、配列要素がUDTで、指定された型マップにUDTのエントリがある場合に、カスタム・マッピングを行います。 カスタム・マッピングは再帰的です。たとえば、SQL構造型のある要素が、それ自体SQL構造型の要素を持つSQL構造型である場合、カスタム・マッピングを持つ各構造型が、指定の型マップに従ってマップされます。
- 定義:
getArray
、インタフェース:Array
- パラメータ:
map
-java.util.Map
オブジェクト。オブジェクト内の各エントリは、(1) UDTの完全修飾名を指定するString
オブジェクトと、(2) UDTのマッピング方法を定義するSQLData
実装のClass
オブジェクトで構成される- 戻り値:
- この
SerialArray
オブジェクトのコピーに相当する、Javaプログラミング言語でのObject
- 例外:
SerialException
- エラーが発生した場合、またはこのオブジェクトでfree
が以前呼び出された場合
-
getArray
public Object getArray(long index, int count) throws SerialExceptionこのSerialArray
オブジェクトのスライスのコピーとなる新しい配列(指定されたインデックス位置の要素から指定の要素数分続く)を返します。- 定義:
getArray
、インタフェース:Array
- パラメータ:
index
- このSerialArray
オブジェクト内で、最初の要素がコピーされる位置を表すインデックス。最初の要素のインデックスは0
count
- コピーされる連続した要素数。指定されたインデックス位置から開始される- 戻り値:
- この
SerialArray
オブジェクト内の指定された要素のコピーに相当する、Javaプログラミング言語でのObject
- 例外:
SerialException
- エラーが発生した場合、またはこのオブジェクトでfree
が以前呼び出された場合
-
getArray
public Object getArray(long index, int count, Map<String,Class<?>> map) throws SerialExceptionこのSerialArray
オブジェクトのスライスのコピーとなる新しい配列(指定されたインデックス位置の要素から指定の要素数分続く)を返します。このメソッドは、配列要素がUDTで、指定された型マップにUDTのエントリがある場合に、カスタム・マッピングを行います。 カスタム・マッピングは再帰的です。たとえば、SQL構造型のある要素が、それ自体SQL構造型の要素を持つSQL構造型である場合、カスタム・マッピングを持つ各構造型が、指定の型マップに従ってマップされます。
- 定義:
getArray
、インタフェース:Array
- パラメータ:
index
- このSerialArray
オブジェクト内で、最初の要素がコピーされる位置を表すインデックス。配列内の最初の要素のインデックスは0
count
- コピーされる連続した要素数。指定されたインデックス位置から開始されるmap
-java.util.Map
オブジェクト。オブジェクト内の各エントリは、(1) UDTの完全修飾名を指定するString
オブジェクトと、(2) UDTのマッピング方法を定義するSQLData
実装のClass
オブジェクトで構成される- 戻り値:
- この
SerialArray
オブジェクト内の指定された要素のコピーに相当する、Javaプログラミング言語でのObject
- 例外:
SerialException
- エラーが発生した場合、またはこのオブジェクトでfree
が以前呼び出された場合
-
getBaseType
public int getBaseType() throws SerialExceptionこのSerialArray
オブジェクト内の要素のSQL型を取得します。 返されるint
は、java.sql.Types
クラスの定数の1つです。- 定義:
getBaseType
、インタフェース:Array
- 戻り値:
java.sql.Types
内の定数の1つ。このSerialArray
オブジェクト内の要素のSQL型を表す- 例外:
SerialException
- エラーが発生した場合、またはこのオブジェクトでfree
が以前呼び出された場合
-
getBaseTypeName
public String getBaseTypeName() throws SerialExceptionこのSerialArray
オブジェクト内に格納された要素のDBMS固有の型名を取得します。- 定義:
getBaseTypeName
、インタフェース:Array
- 戻り値:
- この
SerialArray
オブジェクトの基底型の、DBMSによって使用されるSQL型名 - 例外:
SerialException
- エラーが発生した場合、またはこのオブジェクトでfree
が以前呼び出された場合
-
getResultSet
public ResultSet getResultSet(long index, int count) throws SerialExceptionインデックスindexで始まり、最大でcount個の連続した部分配列の要素が格納されているResultSet
オブジェクトを取得します。 マップに基底型のエントリが格納されている場合、このメソッドは接続の型マップを使って配列の要素をマッピングします。 そうでない場合は、標準のマップが使われます。- 定義:
getResultSet
、インタフェース:Array
- パラメータ:
index
- このSerialArray
オブジェクト内で、最初の要素がコピーされる位置を表すインデックス。配列内の最初の要素のインデックスは0
count
- コピーされる連続した要素数。指定されたインデックス位置から開始される- 戻り値:
- この
SerialArray
オブジェクト内の指定の要素を格納するResultSet
オブジェクト。各要素は別々の行に示される - 例外:
SerialException
- 原因がUnsupportedOperationException
に設定された状態で呼び出された場合
-
getResultSet
public ResultSet getResultSet(Map<String,Class<?>> map) throws SerialExceptionこのSerialArray
オブジェクトによって表現されたSQLARRAY
値のすべての要素を含むResultSet
オブジェクトを取得します。 このメソッドは、指定されたmapを型マップのカスタマイズに使用します。ただし配列の基底型がmapのユーザー定義型(UDT)と一致しない場合は、かわりに標準のマップが使用されます。 このバージョンのgetResultSet
メソッドは、指定された型マップか、標準マップのどちらかを使用します。接続に関連した型マップは使われません。- 定義:
getResultSet
、インタフェース:Array
- パラメータ:
map
-java.util.Map
オブジェクト。オブジェクト内の各エントリは、(1) UDTの完全修飾名を指定するString
オブジェクトと、(2) UDTのマッピング方法を定義するSQLData
実装のClass
オブジェクトで構成される- 戻り値:
- この
SerialArray
オブジェクト内のすべての要素を格納するResultSet
オブジェクト。各要素は別々の行に示される - 例外:
SerialException
- 原因がUnsupportedOperationException
に設定された状態で呼び出された場合
-
getResultSet
public ResultSet getResultSet() throws SerialExceptionこのSerialArray
オブジェクトによって表現するARRAY
値のすべての要素が格納されているResultSet
オブジェクトを取得します。 該当する場合は、配列の要素が接続の型マップを使用してマッピングされます。そうでない場合は、標準のマップが使用されます。- 定義:
getResultSet
、インタフェース:Array
- 戻り値:
- この
SerialArray
オブジェクト内のすべての要素を格納するResultSet
オブジェクト。各要素は別々の行に示される - 例外:
SerialException
- 原因がUnsupportedOperationException
に設定された状態で呼び出された場合
-
getResultSet
public ResultSet getResultSet(long index, int count, Map<String,Class<?>> map) throws SerialExceptionインデックスindexで始まり、最大でcount個の連続した要素を格納するSerialArray
オブジェクトの要素の部分配列を格納するResultSet
オブジェクトを取得します。 このメソッドは、指定されたmapを型マップのカスタマイズに使用します。ただし配列の基底型がmapのユーザー定義型(UDT)と一致しない場合は、かわりに標準のマップが使用されます。 このバージョンのgetResultSet
メソッドは、指定された型マップか、標準マップのどちらかを使用します。接続に関連した型マップは使われません。- 定義:
getResultSet
、インタフェース:Array
- パラメータ:
index
- このSerialArray
オブジェクト内で、最初の要素がコピーされる位置を表すインデックス。配列内の最初の要素のインデックスは0
count
- コピーされる連続した要素数。指定されたインデックス位置から開始されるmap
-java.util.Map
オブジェクト。オブジェクト内の各エントリは、(1) UDTの完全修飾名を指定するString
オブジェクトと、(2) UDTのマッピング方法を定義するSQLData
実装のClass
オブジェクトで構成される- 戻り値:
- この
SerialArray
オブジェクト内の指定の要素を格納するResultSet
オブジェクト。各要素は別々の行に示される - 例外:
SerialException
- 原因がUnsupportedOperationException
に設定された状態で呼び出された場合
-
equals
public boolean equals(Object obj)このSerialArrayを指定されたオブジェクトと比較します。 引数がnull
でなく、このオブジェクトと同じ要素を持つSerialArray
オブジェクトである場合にのみ、結果はtrue
になります- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- このSerialArray
と比較するオブジェクト- 戻り値:
- 指定されたオブジェクトがこのSerialArrayに等しい
SerialArray
を表す場合はtrue
、それ以外の場合はfalse
- 関連項目:
Object.hashCode()
、HashMap
-
hashCode
public int hashCode()このSerialArrayのハッシュ・コードを返します。SerialArray
オブジェクトのハッシュ・コードは、SerialArray
オブジェクトの各要素のハッシュ・コードを使用して計算されます。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
clone
public Object clone()このSerialArray
のクローンを返します。 コピーは、このSerialArray
オブジェクトのベースとなるオブジェクト配列のクローンへの参照を保持するのであって、元のベースとなるオブジェクト配列への参照を保持するわけではありません。
-