public interface Wrapper
ラッパー・パターンは、多くのJDBCドライバ実装によって使用され、データ・ソースに特化した従来のJDBC APIの域を超えた拡張性を提供します。開発者は、実際のリソースを表すプロキシ・クラスのインスタンスとしてラップされた(委譲)これらのリソースにアクセスすることが必要な場合があります。このインタフェースは、プロキシで表されるこのようなラップされたリソースにアクセスする標準のしくみを記述し、リソースの委譲に直接アクセスできます。
修飾子と型 | メソッドと説明 |
---|---|
boolean |
isWrapperFor(Class<?> iface)
これが、指定されたインタフェースを実装している場合や、そのようなオブジェクトの直接的または間接的なラッパーである場合は、trueを返します。
|
<T> T |
unwrap(Class<T> iface)
標準以外のメソッド、またはプロキシによって公開されない標準メソッドにアクセスできるようにするために、指定されたインタフェースを実装しているオブジェクトを返します。
|
<T> T unwrap(Class<T> iface) throws SQLException
unwrap
を再帰的に呼び出した結果が返されます。レシーバがインタフェースを実装しておらず、ラッパーでもない場合は、SQLException
がスローされます。T
- このClassオブジェクトでモデル化されるクラスの型iface
- 結果が実装している必要のあるインタフェースを定義するクラスSQLException
- インタフェースを実装しているオブジェクトが見つからない場合boolean isWrapperFor(Class<?> iface) throws SQLException
isWrapperFor
を再帰的に呼び出した結果を返します。これがインタフェースを実装しておらず、ラッパーでもない場合は、falseを返します。このメソッドはunwrap
の低コスト処理として実装すべきもので、呼出し側はこのメソッドを使用することにより、失敗する可能性もある高負荷のunwrap
呼出しを避けることができます。このメソッドからtrueが返される場合は、同じ引数を使ったunwrap
呼び出しも成功するはすです。iface
- インタフェースを定義するクラス。SQLException
- これが指定されたインタフェースを持つオブジェクトのラッパーかどうかを判定する際にエラーが発生した場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.