- 既知のすべてのサブインタフェース:
CachedRowSet
,CallableStatement
,Connection
,DatabaseMetaData
,DataSource
,FilteredRowSet
,JdbcRowSet
,JoinRowSet
,ParameterMetaData
,PreparedStatement
,ResultSet
,ResultSetMetaData
,RowSet
,RowSetMetaData
,Statement
,SyncResolver
,WebRowSet
- 既知のすべての実装クラス:
RowSetMetaDataImpl
public interface Wrapper
委譲インスタンスが実際はプロキシ・クラスであるときにそのインスタンスを取得できる、JDBCクラスのインタフェースです。
ラッパー・パターンは、多くのJDBCドライバ実装によって使用され、データ・ソースに特化した従来のJDBC APIの域を超えた拡張性を提供します。 開発者は、実際のリソースを表すプロキシ・クラスのインスタンスとしてラップされた(委譲)これらのリソースにアクセスすることが必要な場合があります。 このインタフェースは、プロキシで表されるこのようなラップされたリソースにアクセスする標準のしくみを記述し、リソースの委譲に直接アクセスできます。
- 導入されたバージョン:
- 1.6
-
メソッドのサマリー
修飾子と型 メソッド 説明 boolean
isWrapperFor(クラス<?> iface)
これが、指定されたインタフェースを実装している場合や、そのようなオブジェクトの直接的または間接的なラッパーである場合は、trueを返します。<T> T
unwrap(クラス<T> iface)
標準以外のメソッド、またはプロキシによって公開されない標準メソッドにアクセスできるようにするために、指定されたインタフェースを実装しているオブジェクトを返します。
-
メソッドの詳細
-
unwrap
<T> T unwrap(Class<T> iface) throws SQLException標準以外のメソッド、またはプロキシによって公開されない標準メソッドにアクセスできるようにするために、指定されたインタフェースを実装しているオブジェクトを返します。 レシーバがこのインタフェースを実装している場合、結果はレシーバ、またはレシーバのプロキシになります。 レシーバがラッパーであり、ラップされたオブジェクトがインタフェースを実装している場合、結果はラップされたオブジェクト、またはそのプロキシです。 それ以外の場合は、ラップされたオブジェクト、またはその結果のプロキシに対してunwrap
を再帰的に呼び出した結果が返されます。 レシーバがインタフェースを実装しておらず、ラッパーでもない場合は、SQLException
がスローされます。- 型パラメータ:
T
- このClassオブジェクトでモデル化されるクラスの型- パラメータ:
iface
- 結果が実装している必要のあるインタフェースを定義するクラス。- 戻り値:
- インタフェースを実装しているオブジェクト。 実際に実装しているオブジェクトのプロキシが返される場合もある。
- 例外:
SQLException
- インタフェースを実装しているオブジェクトが見つからない場合- 導入されたバージョン:
- 1.6
-
isWrapperFor
boolean isWrapperFor(Class<?> iface) throws SQLExceptionこれが、指定されたインタフェースを実装している場合や、そのようなオブジェクトの直接的または間接的なラッパーである場合は、trueを返します。 それ以外の場合はfalseを返します。 これがインタフェースを実装している場合は、trueを返します。あるいは、これがラッパーである場合は、ラップされたオブジェクトに対してisWrapperFor
を再帰的に呼び出した結果を返します。 これがインタフェースを実装しておらず、ラッパーでもない場合は、falseを返します。 このメソッドはunwrap
の低コスト処理として実装すべきもので、呼出し側はこのメソッドを使用することにより、失敗する可能性もある高負荷のunwrap
呼出しを避けることができます。 このメソッドからtrueが返される場合は、同じ引数を使用したunwrap
呼び出しも成功するはすです。- パラメータ:
iface
- インタフェースを定義するクラス。- 戻り値:
- これがインタフェースを実装している場合、またはそのようなオブジェクトの直接的または間接的なラッパーである場合は、true。
- 例外:
SQLException
- これが指定されたインタフェースを持つオブジェクトのラッパーかどうかを判定する際にエラーが発生した場合。- 導入されたバージョン:
- 1.6
-