インタフェース | 説明 |
---|---|
CachedRowSet |
CachedRowSet のすべての標準実装が実装しなければならないインタフェースです。 |
FilteredRowSet |
FilteredRowSet のすべての標準実装が実装しなければならない標準インタフェースです。 |
JdbcRowSet |
JdbcRowSet のすべての標準実装が実装しなければならない標準インタフェースです。 |
Joinable |
1.0 背景
|
JoinRowSet |
JoinRowSet インタフェースは、異なった RowSet オブジェクトの関連データを、SQL JOIN を表す 1 つの JoinRowSet オブジェクトにまとめるメカニズムを提供します。 |
Predicate |
すべての
FilteredRowSet オブジェクトにフィルタを記述するフレームワークを提供する標準インタフェースです。 |
RowSetFactory |
各種の
RowSet 実装を取得するために使用されるファクトリの実装を定義するインタフェース。 |
WebRowSet |
WebRowSet のすべての実装が実装しなければならない標準インタフェースです。 |
クラス | 説明 |
---|---|
BaseRowSet |
RowSet オブジェクトとその基本機能を提供する abstract クラスです。 |
RowSetMetaDataImpl |
RowSet オブジェクトの列に関するメタデータ情報を設定および取得するメソッドの実装を提供します。 |
RowSetProvider |
各種の
RowSet 実装を作成するのに使用可能な RowSetFactory 実装をアプリケーションで取得できるようにするファクトリ API。 |
例外 | 説明 |
---|---|
RowSetWarning |
RowSet オブジェクトに設定されたデータベース警告に関する情報を提供する SQLException の拡張です。 |
RowSet
実装用の標準インタフェースと基底クラスです。このパッケージには、標準 RowSet
実装が実装または拡張するインタフェースとクラスが含まれています。
RowSet
インタフェースを指定します。これらの 5 つのインタフェースはすべて、JDBC 3.0 仕様に記述されている RowSet インタフェースを拡張します。このテクノロジの発達とともに、より専門化された JDBC RowSet
型の追加定義が追加される予定です。将来の定義は、この仕様と同じように、継承を利用してサブインタフェースとして指定されることになっています。
注: このパッケージで提供されるインタフェース定義は、これに準拠したすべての JDBC RowSet
実装の基盤となります。ベンダーや開発者が、定義に準拠した独自の RowSet
実装を提供したい場合は、仕様インタフェースに詳述されているアサーションに注意する必要があります。
JdbcRowSet
- 結果セットを JavaBeansTM コンポーネントとして使用できるようにする ResultSet オブジェクトのラッパーです。JdbcRowSet オブジェクトは、あらゆるツールで、コンポーネントベースのアーキテクチャーの一部としてアプリケーションをアセンブルするために使用できる Bean になります。JdbcRowSet オブジェクトは、接続された RowSet
オブジェクトです。つまり、JDBC テクノロジを使用可能なドライバ (JDBC ドライバ) を使ってデータソースとの接続を継続して保持する必要があります。さらに、JdbcRowSet
オブジェクトは、JDBC 3.0 仕様の定義に従って、完全に更新可能でスクロール可能な表データ構造を提供します。
CachedRowSet
™ - CachedRowSet オブジェクトは、スクロール、更新、直列化が可能で、通常はデータソースから切断された JavaBeansTM コンポーネントです。CachedRowSet オブジェクトには、通常、結果セットの行が格納されますが、スプレッドシートなど、表形式のあらゆるファイルの行を格納することもできます。 CachedRowSet 実装は、未接続の RowSet
オブジェクトと元のデータソースの同期を取るため、SyncFactory を使って、プラグイン可能な SyncProvider
オブジェクトを管理および取得する必要があります。通常、SyncProvider
実装は、JDBC ドライバを利用して特定のデータソースに接続します。このメカニズムの詳細については、javax.sql.rowset.spi
パッケージの仕様を参照してください。
WebRowSet
- WebRowSet
オブジェクトは、整形式の XML で RowSet
オブジェクトの読み取りと書き込みを行うことができる CachedRowSet の拡張です。このクラスは、XmlReader
オブジェクト (RowSetReader
インタフェースの拡張) を呼び出して、XML 形式で行セットを読み取ります。また、XmlWriter
オブジェクト (RowSetWriter
インタフェースの拡張) を呼び出して、XML 形式で行セットを書き込みます。WebRowSet
オブジェクトが必要とするリーダーおよびライターは、SyncFactory
により、SyncProvider
実装の形式で提供されます。確実に整形式の XML を使用できるように、http://java.sun.com/xml/ns/jdbc/webrowset.xsd
に、標準のジェネリック XML スキーマが定義され、公開されています。
FilteredRowSet
- FilteredRowSet オブジェクトは、プログラムを使った拡張可能な方式のフィルタリング機能を提供します。RowSet オブジェクト
が、未接続の環境を犠牲にすることなくコンテンツにフィルタリングを適用する必要がある場合は、多数存在します。これは、データソースへの接続を作成するコストの削減のためです。このニーズのソリューションは多岐に渡っており、とても重いフルスケールの SQL クエリー機能を提供する方法から、移植可能なコンポーネントを提供する方法、より軽量な方法が用意されています。FilteredRowSet
オブジェクトは、実行時にフィルタを定義できる Predicate
インタフェースの実装を使用します。また、FilteredRowSet
オブジェクトは、インバウンドおよびアウトバウンドの読み取りと書き込みの操作にセットフィルタを適用する処理を課されています。よって、すべてのフィルタは、双方向と見なされます。標準フィルタは未定義です。ただし、必要なフィルタを実施するために十分なメカニズムが指定されます。
JoinRowSet
- JoinRowSet インタフェースは、複数の標準 RowSet
実装の関係を確立するメカニズムを記述します。RowSet オブジェクトが SQL JOIN 方式で関連付け可能な場合、JoinRowSet オブジェクトに追加できる RowSet オブジェクトの数に制限はありません。定義によると、SQL JOIN 文は、2 つ以上のリレーショナルデータベーステーブルに格納されたデータを、共通の属性に基づいてまとめるために使用されます。列のマッチングを作成し、施行することにより、JoinRowSet オブジェクトは、元のデータソースはそのままで、RowSet インスタンス同士の関係を確立します。
RowSet
実装の準拠実装は、この仕様に記述されたアサーションに従う必要があります。Java Community Process の規定に従って、仕様との互換性を確保するため、Test Compatibility Kit (TCK) をライセンスできます。次の段落では、標準 JDBC RowSet
定義の実装の開始点について概説します。SyncProvider
実装のガイドラインについては、javax.sql.rowset.spi パッケージの実装ガイドも参照してください。
すべての RowSet
の実装では、引数を持たないコンストラクタがなければいけません。
BaseRowSet
クラスの役割
準拠した JDBC RowSet
実装は、このパッケージに指定された標準インタフェースを 1 つ以上実装する必要があります。また、BaseRowSet
クラスを拡張することができます。たとえば、CachedRowSet
実装は、CachedRowSet
インタフェースを実装し、BaseRowSet
abstract クラスを拡張する必要があります。BaseRowSet
クラスは、RowSet
オブジェクトが接続環境にあるか未接続の環境にあるかに関係なく、すべての RowSet
実装の構築に使用される標準アーキテクチャーを提供します。BaseRowSet abstract クラスは、RowSet に、プロパティーの操作やイベント通知に代表される、JavaBeans コンポーネント要件に完全準拠した基本機能を提供します。たとえば、com.sun.rowset パッケージ内のリファレンス実装で提供されるすべての実装は、BaseRowSet クラスを実装の基盤として使用します。
次の表に、BaseRowSet
abstract クラスの機能を示します。
機能
詳細
プロパティー
アプリケーションに RowSet
コマンドやプロパティー値の取得および設定を提供する標準 JavaBeans プロパティー操作メカニズムを提供する。標準RowSet
プロパティーの詳細については、javax.sql.RowSet インタフェースのマニュアル (JDBC 3.0 仕様にて提供) を参照
イベント通知
登録済みのイベントリスナーに標準 JavaBeans イベント通知を提供する。準拠実装によって生成された標準 RowSet イベントの登録および処理方法の詳細については、javax.sql.RowSetEvent インタフェースのマニュアル (JDBC 3.0 仕様にて提供) を参照。
RowSet オブジェクトのコマンドの設定
RowSet コマンドパラメータを設定する設定メソッドの完全なセットを提供する。
ストリーム
ストリーム型を指定するための一連の定数のほか、ストリームインスタンスの格納フィールドを提供する。
JdbcRowSet
は、常に元のデータソースに接続している必要がある RowSet
オブジェクトを記述します。JdbcRowSet
の実装は、この接続が JDBC ドライバのみによって提供されていることを確認する必要があります。また、JdbcRowSet
インタフェースの実装になっており、接続環境で動作する RowSet
オブジェクトは、RowSetReader
オブジェクトや RowSetWriter
オブジェクトの取得に SyncFactory
を使用しません。これらは、配下の更新およびスクロール可能な ResultSet
実装により、JDBC ドライバを利用してニーズを満たすことができます。
CachedRowSet
オブジェクトなど、未接続の RowSet
オブジェクトは、SyncFactory
によって提供される SyncProvider
オブジェクトに接続管理を委譲する必要があります。完全に未接続にするためには、すべての未接続の RowSet
オブジェクトは、RowSet
オブジェクトの生成に利用された元のデータソース接続がクローズし、ガベージコレクタがリソースを復元および解放できる状態になっていることを確認する必要があります。SyncProvider
オブジェクトは、同期が必要なときにデータソース接続を再度確立するため、重要な JDBC プロパティーが保持されていることを確認します。したがって、未接続の RowSet
オブジェクトは、Connection
オブジェクト上に外部参照がないことを確認する必要があります。
RowsetMetaDataImpl
クラスは、RowSetMetaData インタフェースの実装を提供するユーティリティークラスであり、接続されているか未接続であるかどうかに関係なく、すべての RowSet
オブジェクトのメタデータに標準の設定メソッド実装を提供します。すべての実装は、この標準実装を自由に利用できますが、必ずしも利用する必要はありません。
RowSetWarning
クラスは、RowSet
実装に設定可能な警告を提供します。SQLWarning オブジェクトと同様に、RowSetWarning
オブジェクトは、メッセージを表示せずに、警告をスローするメソッドを持つオブジェクトにチェーンされます。すべての RowSet
実装は、警告が生成された場合にこのチェーンが発生することと、JdbcRowSet
インタフェースか CachedRowSet
インタフェースに定義された getRowSetWarnings
メソッドから警告を使用できることを確認する必要があります。getRowSetWarnings
メソッドを使って警告を取得したあと、RowSetWarning
メソッド getNextWarning
を呼び出して、チェーンされる警告を取得することができます。警告が返された場合は、それ以上警告が表示されなくなるまで、繰り返し getNextWarning
を呼び出すことができます。
Joinable
インタフェースは、接続されているか未接続であるかに関係なく、すべての RowSet
オブジェクトを、SQL JOIN
操作で JoinRowSet
オブジェクトに追加することができます。Joinable
インタフェースを実装している RowSet
オブジェクトは、一致列の設定、一致列の取得、または一致列の設定解除を行うことができます。JoinRowSet
オブジェクトは、RowSet
オブジェクトの一致列を、RowSet
オブジェクトを追加するための基盤として利用することができます。
新しい RowSetFactory
の実装が提供される必要があります。
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.