JavaTM Platform
Standard Ed. 6

java.sql
インタフェース Wrapper

既知のサブインタフェースの一覧:
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(Class<?> iface)
          これが、指定されたインタフェースを実装している場合や、そのようなオブジェクトの直接的または間接的なラッパーである場合は、true を返します。
<T> T
unwrap(Class<T> iface)
          標準以外のメソッド、またはプロキシによって公開されない標準メソッドにアクセスできるようにするために、指定されたインタフェースを実装しているオブジェクトを返します。
 

メソッドの詳細

unwrap

<T> T unwrap(Class<T> iface)
         throws SQLException
標準以外のメソッド、またはプロキシによって公開されない標準メソッドにアクセスできるようにするために、指定されたインタフェースを実装しているオブジェクトを返します。 レシーバがこのインタフェースを実装している場合、結果はレシーバ、またはレシーバのプロキシになります。レシーバがラッパーであり、ラップされたオブジェクトがインタフェースを実装している場合、結果はラップされたオブジェクト、またはそのプロキシです。それ以外の場合は、ラップされたオブジェクト、またはその結果のプロキシに対して unwrap を再帰的に呼び出した結果が返されます。レシーバがインタフェースを実装しておらず、ラッパーでもない場合は、SQLException がスローされます。

パラメータ:
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

JavaTM Platform
Standard Ed. 6

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

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