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
がスローされます。iface
- 結果が実装している必要のあるインタフェースを定義するクラスSQLException
- インタフェースを実装しているオブジェクトが見つからない場合boolean isWrapperFor(Class<?> iface) throws SQLException
isWrapperFor
を再帰的に呼び出した結果を返します。これがインタフェースを実装しておらず、ラッパーでもない場合は、false を返します。このメソッドは unwrap
の低コスト処理として実装すべきもので、呼び出し側はこのメソッドを使用することにより、失敗する可能性もある高負荷の unwrap
呼び出しを避けることができます。このメソッドから true が返される場合は、同じ引数を使った unwrap
呼び出しも成功するはすです。iface
- インタフェースを定義するクラス。SQLException
- これが指定されたインタフェースを持つオブジェクトのラッパーかどうかを判定する際にエラーが発生した場合。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.