JavaTM Platform
Standard Ed. 6

javax.sql.rowset.serial
クラス SerialArray

java.lang.Object
  上位を拡張 javax.sql.rowset.serial.SerialArray
すべての実装されたインタフェース:
Serializable, Cloneable, Array

public class SerialArray
extends Object
implements Array, Serializable, Cloneable

Array オブジェクトの直列化バージョンであり、Java プログラミング言語での SQL ARRAY 値のマッピングです。

SerialArray クラスは、Array オブジェクトから SerialArray インスタンスを作成するためのコンストラクタと、基底型とその SQL 名を取得するためのメソッドと、SerialArray オブジェクトの一部または全部をコピーするためのメソッドを提供します。

注:このクラスを正常に動作させるためには、必要に応じて SQL Array オブジェクトを生成する (そのすべての要素をクライアントサーバーに移動させる) ためにデータソース接続が利用可能である必要があります。現時点では、ロケータなどのデータソースのデータへの論理ポインタはサポートされていません。

関連項目:
直列化された形式

コンストラクタの概要
SerialArray(Array array)
          指定された Array オブジェクトから新しい SerialArray オブジェクトを構築します。
SerialArray(Array array, Map<String,Class<?>> map)
          要素が SQL UDT であるとき、各要素のカスタムマッピングに使用される指定の型マップを使って、指定された Array オブジェクトから新しい SerialArray オブジェクトを構築します。
 
メソッドの概要
 void free()
          このメソッドは、Array オブジェクトを解放して、保持されているリソースを解放します。
 Object getArray()
          この SerialArray オブジェクトのコピーである新しい配列を返します。
 Object getArray(long index, int count)
          この SerialArray オブジェクトのスライスのコピーとなる新しい配列 (指定されたインデックス位置の要素から指定の要素数分続く) を返します。
 Object getArray(long index, int count, Map<String,Class<?>> map)
          この SerialArray オブジェクトのスライスのコピーとなる新しい配列 (指定されたインデックス位置の要素から指定の要素数分続く) を返します。
 Object getArray(Map<String,Class<?>> map)
          要素が SQL UDT であるとき、各要素のカスタムマッピングに使用される指定の型マップを使って、この SerialArray オブジェクトのコピーである新しい配列を返します。
 int getBaseType()
          この SerialArray オブジェクト内の要素の SQL 型を取得します。
 String getBaseTypeName()
          この SerialArray オブジェクト内に格納された要素の DBMS 固有の型名を取得します。
 ResultSet getResultSet()
          この SerialArray オブジェクトによって表現する ARRAY 値のすべての要素が格納されている ResultSet オブジェクトを取得します。
 ResultSet getResultSet(long index, int count)
          インデックス index で始まり、最大で count 個の連続した部分配列の要素が格納されている ResultSet オブジェクトを取得します。
 ResultSet getResultSet(long index, int count, Map<String,Class<?>> map)
          インデックス index で始まり、最大で count 個の連続した要素を格納する SerialArray オブジェクトの要素の部分配列を格納する ResultSet オブジェクトを返します。
 ResultSet getResultSet(Map<String,Class<?>> map)
          この SerialArray オブジェクトによって表現された SQL ARRAY 値のすべての要素を含む ResultSet オブジェクトを取得します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SerialArray

public SerialArray(Array array,
                   Map<String,Class<?>> map)
            throws SerialException,
                   SQLException
要素が SQL UDT であるとき、各要素のカスタムマッピングに使用される指定の型マップを使って、指定された Array オブジェクトから新しい SerialArray オブジェクトを構築します。

このメソッドは、配列要素が UDT で、指定された型マップに UDT のエントリがある場合に、カスタムマッピングを行います。カスタムマッピングは再帰的です。 たとえば、SQL 構造型のある要素が、それ自体 SQL 構造型の要素を持つ SQL 構造型である場合、カスタムマッピングを持つ各構造型が、指定の型マップに従ってマップされます。

新しい SerialArray オブジェクトは、その構築に使用される Array オブジェクトと同じ要素を格納します。 ただし、基底型が SQL 型の STRUCTARRAYBLOBCLOBDATALINKJAVA_OBJECT である場合を除きます。この場合、新しい SerialArray オブジェクト内の各要素は、適切な直列化フォーム、すなわち SerialStructSerialArraySerialBlobSerialClobSerialDatalinkSerialJavaObject のいずれかのオブジェクトになります。  

注:SerialArray オブジェクトの作成に使用される Array オブジェクトは、コンストラクタに渡される前に、クライアントに SQL ARRAY 値のデータを渡していなければいけません。そうしないと、新しい SerialArray オブジェクトはデータを持たないオブジェクトになります。

注:Arrayjava.sql.Types.JAVA_OBJECT 型が格納されている場合、SerialJavaObject コンストラクタが呼び出され、このオブジェクトが直列化可能であることが確認されます。

注:(3) このコンストラクタに指定された Array オブジェクトは、Array.getArray() メソッドに対して null を返すことはできません。SerialArray は null 配列値を直列化できません。

パラメータ:
array - 直列化される Array オブジェクト
map - java.util.Map オブジェクト。オブジェクト内の各エントリは、(1) UDT の完全修飾名を指定する String オブジェクトと、(2) UDT のマップ方法を定義する SQLData 実装の Class オブジェクトで 構成される。map パラメータは、BlobClobDATALINK、または JAVA_OBJECT 型に対しては無効
例外:
SerialException - Array オブジェクトの直列化時に エラーが発生した場合
SQLException - データベースアクセスエラーが発生した場合、 または arraymap の値が null の場合

SerialArray

public SerialArray(Array array)
            throws SerialException,
                   SQLException
指定された Array オブジェクトから新しい SerialArray オブジェクトを構築します。

このコンストラクタは、カスタムマッピングを行いません。配列の基底型が SQL 構造型であり、カスタムマッピングが必要な場合は、コンストラクタ SerialArray(Array array, Map map) を使用する必要があります。

新しい SerialArray オブジェクトは、その構築に使用された Array オブジェクトと同じ要素を格納します。 ただし、基底型が SQL 型の BLOBCLOBDATALINKJAVA_OBJECT である場合を除きます。この場合、新しい SerialArray オブジェクト内の各要素は、適切な直列化フォーム、すなわち SerialBlobSerialClobSerialDatalinkSerialJavaObject のいずれかのオブジェクトになります。  

注:SerialArray オブジェクトの作成に使用される Array オブジェクトは、コンストラクタに渡される前に、クライアントに SQL ARRAY 値のデータを渡していなければいけません。そうしないと、新しい SerialArray オブジェクトはデータを持たないオブジェクトになります。

注:(2) このコンストラクタに指定された Array オブジェクトは、Array.getArray() メソッドに対して null を返すことはできません。SerialArraynull 配列値を直列化できません。

パラメータ:
array - 直列化される Array オブジェクト
例外:
SerialException - Array オブジェクトの直列化時に エラーが発生した場合
SQLException - データベースアクセスエラーが発生した場合、 または array パラメータが null の場合
メソッドの詳細

free

public void free()
          throws SQLException
このメソッドは、Array オブジェクトを解放して、保持されているリソースを解放します。free メソッドが一度呼び出されたあとは、オブジェクトは無効になります。

free が呼び出されると、free 以外のメソッドを呼び出そうとしても、SQLException がスローされます。free を複数回呼び出した場合、2 回目以降の free 呼び出しは何も行わないものとして扱われます。

定義:
インタフェース Array 内の free
例外:
SQLException - Array のリソースの解放時にエラーが発生した場合
SQLFeatureNotSupportedException - JDBC ドライバがこのメソッドをサポートしない場合
導入されたバージョン:
1.6

getArray

public Object getArray()
                throws SerialException
この SerialArray オブジェクトのコピーである新しい配列を返します。

定義:
インタフェース Array 内の getArray
戻り値:
この SerialArray オブジェクトのコピーに相当する、 Java プログラミング言語での Object
例外:
SerialException - この SerialArray オブジェクトのコピーの取得時に エラーが発生した場合

getArray

public Object getArray(Map<String,Class<?>> map)
                throws SerialException
要素が SQL UDT であるとき、各要素のカスタムマッピングに使用される指定の型マップを使って、この SerialArray オブジェクトのコピーである新しい配列を返します。

このメソッドは、配列要素が UDT で、指定された型マップに UDT のエントリがある場合に、カスタムマッピングを行います。カスタムマッピングは再帰的です。 たとえば、SQL 構造型のある要素が、それ自体 SQL 構造型の要素を持つ SQL 構造型である場合、カスタムマッピングを持つ各構造型が、指定の型マップに従ってマップされます。

定義:
インタフェース Array 内の getArray
パラメータ:
map - java.util.Map オブジェクト。 オブジェクト内の各エントリは、(1) UDT の完全修飾名を指定する String オブジェクトと、 (2) UDT のマッピング方法を定義する SQLData 実装の Class オブジェクトで 構成される
戻り値:
この SerialArray オブジェクトのコピーに相当する、 Java プログラミング言語での Object
例外:
SerialException - エラーが発生した場合

getArray

public Object getArray(long index,
                       int count)
                throws SerialException
この SerialArray オブジェクトのスライスのコピーとなる新しい配列 (指定されたインデックス位置の要素から指定の要素数分続く) を返します。

定義:
インタフェース Array 内の getArray
パラメータ:
index - この SerialArray オブジェクト内で、 最初の要素がコピーされる位置を表すインデックス。 最初の要素のインデックスは 0
count - コピーされる連続した要素数。 指定されたインデックス位置から開始される
戻り値:
この SerialArray オブジェクト内の指定された要素のコピーに相当する、 Java プログラミング言語での Object
例外:
SerialException - エラーが発生した場合

getArray

public Object getArray(long index,
                       int count,
                       Map<String,Class<?>> map)
                throws SerialException
この SerialArray オブジェクトのスライスのコピーとなる新しい配列 (指定されたインデックス位置の要素から指定の要素数分続く) を返します。

このメソッドは、配列要素が UDT で、指定された型マップに UDT のエントリがある場合に、カスタムマッピングを行います。カスタムマッピングは再帰的です。 たとえば、SQL 構造型のある要素が、それ自体 SQL 構造型の要素を持つ SQL 構造型である場合、カスタムマッピングを持つ各構造型が、指定の型マップに従ってマップされます。

定義:
インタフェース Array 内の getArray
パラメータ:
index - この SerialArray オブジェクト内で、 最初の要素がコピーされる位置を表すインデックス。 配列内の最初の要素のインデックスは 0
count - コピーされる連続した要素数。 指定されたインデックス位置から開始される
map - java.util.Map オブジェクト。 オブジェクト内の各エントリは、(1) UDT の完全修飾名を指定する String オブジェクトと、 (2) UDT のマッピング方法を定義する SQLData 実装の Class オブジェクトで 構成される
戻り値:
この SerialArray オブジェクト内の指定された要素のコピーに相当する、 Java プログラミング言語での Object
例外:
SerialException - エラーが発生した場合

getBaseType

public int getBaseType()
                throws SerialException
この SerialArray オブジェクト内の要素の SQL 型を取得します。返される int は、java.sql.Types クラスの定数の 1 つです。

定義:
インタフェース Array 内の getBaseType
戻り値:
java.sql.Types 内の定数の 1 つ。 この SerialArray オブジェクト内の要素の SQL 型を表す
例外:
SerialException - エラーが発生した場合

getBaseTypeName

public String getBaseTypeName()
                       throws SerialException
この SerialArray オブジェクト内に格納された要素の DBMS 固有の型名を取得します。

定義:
インタフェース Array 内の getBaseTypeName
戻り値:
この SerialArray オブジェクトの基底型の、 DBMS によって使用される SQL 型名
例外:
SerialException - エラーが発生した場合

getResultSet

public ResultSet getResultSet(long index,
                              int count)
                       throws SerialException
インデックス index で始まり、最大で count 個の連続した部分配列の要素が格納されている ResultSet オブジェクトを取得します。マップに基底型のエントリが格納されている場合、このメソッドは接続の型マップを使って配列の要素をマッピングします。そうでない場合は、標準のマップが使われます。

定義:
インタフェース Array 内の getResultSet
パラメータ:
index - この SerialArray オブジェクト内で、 最初の要素がコピーされる位置を表すインデックス。 配列内の最初の要素のインデックスは 0
count - コピーされる連続した要素数。 指定されたインデックス位置から開始される
戻り値:
この SerialArray オブジェクト内の 指定の要素を格納する ResultSet オブジェクト。 各要素は別々の行に示される
例外:
SerialException, - このメソッドが呼び出された場合、UnsupportedOperationException がスローされる
SerialException

getResultSet

public ResultSet getResultSet(Map<String,Class<?>> map)
                       throws SerialException
この SerialArray オブジェクトによって表現された SQL ARRAY 値のすべての要素を含む ResultSet オブジェクトを取得します。このメソッドは、指定された map を型マップのカスタマイズに使います。 ただし配列の基底型が map のユーザー定義型 (UDT) と一致しない場合は、代わりに標準のマップが使われます。このバージョンの getResultSet メソッドは、指定された型マップか、標準マップのどちらかを使います。 接続に関連した型マップは使われません。

定義:
インタフェース Array 内の getResultSet
パラメータ:
map - java.util.Map オブジェクト。 オブジェクト内の各エントリは、(1) UDT の完全修飾名を指定する String オブジェクトと、 (2) UDT のマッピング方法を定義する SQLData 実装の Class オブジェクトで 構成される
戻り値:
この SerialArray オブジェクト内の すべての要素を格納する ResultSet オブジェクト。 各要素は別々の行に示される
例外:
SerialException, - このメソッドが呼び出された場合、UnsupportedOperationException がスローされる
SerialException

getResultSet

public ResultSet getResultSet()
                       throws SerialException
この SerialArray オブジェクトによって表現する ARRAY 値のすべての要素が格納されている ResultSet オブジェクトを取得します。該当する場合は、配列の要素が接続の型マップを使ってマッピングされます。そうでない場合は、標準のマップが使用されます。

定義:
インタフェース Array 内の getResultSet
戻り値:
この 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 メソッドは、指定された型マップか、標準マップのどちらかを使います。 接続に関連した型マップは使われません。

定義:
インタフェース Array 内の getResultSet
パラメータ:
index - この SerialArray オブジェクト内で、 最初の要素がコピーされる位置を表すインデックス。 配列内の最初の要素のインデックスは 0
count - コピーされる連続した要素数。 指定されたインデックス位置から開始される
map - java.util.Map オブジェクト。 オブジェクト内の各エントリは、(1) UDT の完全修飾名を指定する String オブジェクトと、 (2) UDT のマッピング方法を定義する SQLData 実装の Class オブジェクトで 構成される
戻り値:
この SerialArray オブジェクト内の 指定の要素を格納する ResultSet オブジェクト。 各要素は別々の行に示される
例外:
SerialException - 呼び出された場合、 UnsupportedOperationException をスローする

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。