-
- All Known Subinterfaces:
-
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
-
-
方法详细信息
-
unwrap
<T> T unwrap(类<T> iface) throws SQLException
返回实现给定接口的对象,以允许访问非标准方法或代理未公开的标准方法。 如果接收器实现接口,则结果是接收器或接收器的代理。 如果接收器是包装器并且包装对象实现接口,则结果是包装对象或包装对象的代理。 否则返回在包装对象或该结果的代理上递归调用unwrap
结果。 如果接收器不是包装器并且未实现接口,则抛出SQLException
。- 参数类型
-
T
- 由此Class对象建模的类的类型 - 参数
-
iface
- 定义结果必须实现的接口的类。 - 结果
- 实现接口的对象。 可能是实际实现对象的代理。
- 异常
-
SQLException
- 如果找不到实现接口的对象 - 从以下版本开始:
- 1.6
-
isWrapperFor
boolean isWrapperFor(类<?> iface) throws SQLException
如果这实现了接口参数,或者直接或间接地作为对象的包装器,则返回true。 否则返回false。 如果这实现了接口然后返回true,否则如果这是一个包装器,则返回在包装对象上递归调用isWrapperFor
的结果。 如果这不实现接口并且不是包装器,则返回false。 与unwrap
相比,此方法应实现为低成本操作,以便呼叫者可以使用此方法来避免可能失败的昂贵的unwrap
呼叫。 如果此方法返回true,unwrap
使用相同的参数调用unwrap
。- 参数
-
iface
- 定义接口的类。 - 结果
- 如果这实现了接口或直接或间接包装了一个对象,则返回true。
- 异常
-
SQLException
- 如果在确定这是否是具有给定接口的对象的包装器时发生错误。 - 从以下版本开始:
- 1.6
-
-