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 オブジェクトを取得します。 |
public SerialArray(Array array, Map<String,Class<?>> map) throws SerialException, SQLException
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
オブジェクトは、コンストラクタに渡される前に、クライアントに SQL ARRAY
値のデータを渡していなければいけません。そうしないと、新しい 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
の場合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
オブジェクトは、コンストラクタに渡される前に、クライアントに SQL ARRAY
値のデータを渡していなければいけません。そうしないと、新しい SerialArray
オブジェクトはデータを持たないオブジェクトになります。
注: (2) このコンストラクタに指定された Array
オブジェクトは、Array.getArray()
メソッドに対して null
を返すことはできません。SerialArray
は null
配列値を直列化できません。
array
- 直列化される Array
オブジェクトSerialException
- Array
オブジェクトの直列化時にエラーが発生した場合SQLException
- データベースアクセスエラーが発生した場合、または array パラメータが null
の場合。public void free() throws SQLException
Array
オブジェクトを解放して、保持されているリソースを解放します。free
メソッドが一度呼び出されたあとは、オブジェクトは無効になります。
free
が呼び出されると、free
以外のメソッドを呼び出そうとしても、SQLException
がスローされます。free
を複数回呼び出した場合、2 回目以降の free
呼び出しは何も行わないものとして扱われます。
free
、インタフェース: Array
SQLException
- Array のリソースの解放時にエラーが発生した場合SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合public Object getArray() throws SerialException
SerialArray
オブジェクトのコピーである新しい配列を返します。getArray
、インタフェース: Array
SerialArray
オブジェクトのコピーに相当する、Java プログラミング言語での Object
SerialException
- この SerialArray
オブジェクトのコピーの取得時にエラーが発生した場合public Object getArray(Map<String,Class<?>> map) throws SerialException
SerialArray
オブジェクトのコピーである新しい配列を返します。
このメソッドは、配列要素が UDT で、指定された型マップに UDT のエントリがある場合に、カスタムマッピングを行います。カスタムマッピングは再帰的です。たとえば、SQL 構造型のある要素が、それ自体 SQL 構造型の要素を持つ SQL 構造型である場合、カスタムマッピングを持つ各構造型が、指定の型マップに従ってマップされます。
getArray
、インタフェース: Array
map
- java.util.Map
オブジェクト。オブジェクト内の各エントリは、(1) UDT の完全修飾名を指定する String
オブジェクトと、(2) UDT のマッピング方法を定義する SQLData
実装の Class
オブジェクトで構成されるSerialArray
オブジェクトのコピーに相当する、Java プログラミング言語での Object
SerialException
- エラーが発生した場合public Object getArray(long index, int count) throws SerialException
SerialArray
オブジェクトのスライスのコピーとなる新しい配列 (指定されたインデックス位置の要素から指定の要素数分続く) を返します。getArray
、インタフェース: Array
index
- この SerialArray
オブジェクト内で、最初の要素がコピーされる位置を表すインデックス。最初の要素のインデックスは 0
count
- コピーされる連続した要素数。指定されたインデックス位置から開始されるSerialArray
オブジェクト内の指定された要素のコピーに相当する、Java プログラミング言語での Object
SerialException
- エラーが発生した場合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
- エラーが発生した場合public int getBaseType() throws SerialException
SerialArray
オブジェクト内の要素の SQL 型を取得します。返される int
は、java.sql.Types
クラスの定数の 1 つです。getBaseType
、インタフェース: Array
java.sql.Types
内の定数の 1 つ。この SerialArray
オブジェクト内の要素の SQL 型を表すSerialException
- エラーが発生した場合public String getBaseTypeName() throws SerialException
SerialArray
オブジェクト内に格納された要素の DBMS 固有の型名を取得します。getBaseTypeName
、インタフェース: Array
SerialArray
オブジェクトの基底型の、DBMS によって使用される SQL 型名SerialException
- エラーが発生した場合public ResultSet getResultSet(long index, int count) throws SerialException
ResultSet
オブジェクトを取得します。マップに基底型のエントリが格納されている場合、このメソッドは接続の型マップを使って配列の要素をマッピングします。そうでない場合は、標準のマップが使われます。getResultSet
、インタフェース: Array
index
- この SerialArray
オブジェクト内で、最初の要素がコピーされる位置を表すインデックス。配列内の最初の要素のインデックスは 0
count
- コピーされる連続した要素数。指定されたインデックス位置から開始されるSerialArray
オブジェクト内の指定の要素を格納する ResultSet
オブジェクト。各要素は別々の行に示されるSerialException,
- このメソッドが呼び出された場合、UnsupportedOperationException
がスローされるSerialException
public ResultSet getResultSet(Map<String,Class<?>> map) throws SerialException
SerialArray
オブジェクトによって表現された SQL ARRAY
値のすべての要素を含む ResultSet
オブジェクトを取得します。このメソッドは、指定された map を型マップのカスタマイズに使います。ただし配列の基底型が map のユーザー定義型 (UDT) と一致しない場合は、代わりに標準のマップが使われます。このバージョンの getResultSet
メソッドは、指定された型マップか、標準マップのどちらかを使います。接続に関連した型マップは使われません。getResultSet
、インタフェース: Array
map
- java.util.Map
オブジェクト。オブジェクト内の各エントリは、(1) UDT の完全修飾名を指定する String
オブジェクトと、(2) UDT のマッピング方法を定義する SQLData
実装の Class
オブジェクトで構成されるSerialArray
オブジェクト内のすべての要素を格納する ResultSet
オブジェクト。各要素は別々の行に示されるSerialException,
- このメソッドが呼び出された場合、UnsupportedOperationException
がスローされるSerialException
public ResultSet getResultSet() throws SerialException
SerialArray
オブジェクトによって表現する ARRAY
値のすべての要素が格納されている ResultSet
オブジェクトを取得します。該当する場合は、配列の要素が接続の型マップを使ってマッピングされます。そうでない場合は、標準のマップが使用されます。getResultSet
、インタフェース: Array
SerialArray
オブジェクト内のすべての要素を格納する ResultSet
オブジェクト。各要素は別々の行に示されるSerialException
- このメソッドが呼び出された場合、UnsupportedOperationException
がスローされるpublic ResultSet getResultSet(long index, int count, Map<String,Class<?>> map) throws SerialException
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
をスローする バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.