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