public interface Wrapper
在相关实例实际上是代理类时提供获取委托实例能力的 JDBC 类的接口。
许多 JDBC 驱动程序实现使用包装器模式提供超越传统 JDBC API 的扩展,传统 JDBC API 是特定于数据源的。开发人员可能希望访问那些被包装(代理)为代表实际资源代理类实例的资源。此接口描述访问那些由代理代表的包装资源的标准机制,以允许对资源代理的直接访问。
方法摘要 | ||
---|---|---|
boolean |
isWrapperFor(Class<?> iface) 如果调用此方法的对象实现接口参数,或者是实现接口参数的对象的直接或间接包装器,则返回 true。 |
|
|
unwrap(Class<T> iface) 返回一个对象,该对象实现给定接口,以允许访问非标准方法或代理未公开的标准方法。 |
方法详细信息 |
---|
<T> T unwrap(Class<T> iface) throws SQLException
unwrap
的结果或该结果的代理。如果接收者不是包装器且未实现该接口,则抛出
SQLException
。
iface
- 定义结果必须实现的接口的 Class。
SQLException
- 如果未找到实现接口的对象。
boolean isWrapperFor(Class<?> iface) throws SQLException
isWrapperFor
的结果。如果调用此方法的对象未实现该接口且不是包装器,则返回 false。此方法相比
unwrap
而言,应作为低成本操作实现,以便调用者可以使用此方法避免调用可能失败的昂贵的
unwrap
。如果此方法返回 true,那么使用相同的参数调用
unwrap
应该会成功。
iface
- 定义接口的 Class。
SQLException
- 如果在确定调用此方法的对象是否是使用给定接口的对象的包装器时发生错误。