JavaTM 2 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 的擴展,傳統 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 - 定義結果必須實作的介面的 Class。
返回:
實作介面的物件。可以是實際實作物件的代理。
拋出:
SQLException - 如果未找到實作介面的物件。
從以下版本開始:
1.6

isWrapperFor

boolean isWrapperFor(Class<?> iface)
                     throws SQLException
如果調用此方法的物件實作介面參數,或者是實作介面參數的物件的直接或間接外覆器,則返回 true。否則返回 false。如果調用此方法的物件實作了介面,則返回 true;如果它是外覆器,則返回以遞歸方式對包裹物件調用 isWrapperFor 的結果。如果調用此方法的物件未實作該介面且不是外覆器,則返回 false。此方法相比 unwrap 而言,應作為低成本操作實作,以便調用者可以使用此方法避免調用可能失敗的昂貴的 unwrap。如果此方法返回 true,那麼使用相同的參數調用 unwrap 應該會成功。

參數:
iface - 定義介面的 Class。
返回:
如果調用此方法的物件實作了介面,或者直接或間接包裹實作了介面的物件,則返回 true。
拋出:
SQLException - 如果在確定調用此方法的物件是否是使用給定介面的物件的套件裝器時發生錯誤。
從以下版本開始:
1.6

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only