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