-
- 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
-
-