java中Wrapper接口的作用,有经验的谈谈

太阳底下的事情 2009-11-07 02:32:16
刚学习JDBC技术没多久,发现JDBC接口的核心接口都继承自wrapper,看了jdk后还是不能理解其意,希望大家多提宝贵经验
...全文
823 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
千里小马 2010-10-11
  • 打赏
  • 举报
回复
起到一个包装的作用!
zl3450341 2009-11-08
  • 打赏
  • 举报
回复
java.sql 
接口 Wrapper
所有已知子接口:
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 的扩展,传统 JDBC API 是特定于数据源的。开发人员可能希望访问那些被包装(代理)为代表实际资源代理类实例的资源。此接口描述访问那些由代理代表的包装资源的标准机制,以允许对资源代理的直接访问。



从以下版本开始:
1.6

--------------------------------------------------------------------------------

方法摘要
boolean isWrapperFor(Class<?> iface)
如果调用此方法的对象实现接口参数,或者是实现接口参数的对象的直接或间接包装器,则返回 true。
<T> T
unwrap(Class<T> iface)
返回一个对象,该对象实现给定接口,以允许访问非标准方法或代理未公开的标准方法。


方法详细信息


unwrap
<T> T unwrap(Class<T> iface)
throws SQLException返回一个对象,该对象实现给定接口,以允许访问非标准方法或代理未公开的标准方法。 如果接收者实现了该接口,那么结果是接收者或接收者代理。如果接收者是包装器且包装对象实现了该接口,那么结果是包装对象或包装对象的代理。否则,返回以递归方式对包装对象调用 unwrap 的结果或该结果的代理。如果接收者不是包装器且未实现该接口,则抛出 SQLException。

参数:
iface - 定义结果必须实现的接口的 Class。
返回:
实现接口的对象。可以是实际实现对象的代理。
抛出:
SQLException - 如果未找到实现接口的对象。
从以下版本开始:
1.6

--------------------------------------------------------------------------------

isWrapperFor
boolean isWrapperFor(Class<?> iface)
throws SQLException如果调用此方法的对象实现接口参数,或者是实现接口参数的对象的直接或间接包装器,则返回 true。否则返回 false。如果调用此方法的对象实现了接口,则返回 true;如果它是包装器,则返回以递归方式对包装对象调用 isWrapperFor 的结果。如果调用此方法的对象未实现该接口且不是包装器,则返回 false。此方法相比 unwrap 而言,应作为低成本操作实现,以便调用者可以使用此方法避免调用可能失败的昂贵的 unwrap。如果此方法返回 true,那么使用相同的参数调用 unwrap 应该会成功。

参数:
iface - 定义接口的 Class。
返回:
如果调用此方法的对象实现了接口,或者直接或间接包装实现了接口的对象,则返回 true。
抛出:
SQLException - 如果在确定调用此方法的对象是否是使用给定接口的对象的包装器时发生错误。
从以下版本开始:
1.6
swandragon 2009-11-08
  • 打赏
  • 举报
回复
public interface Wrapper
在相关实例实际上是代理类时提供获取委托实例能力的 JDBC 类的接口。

许多 JDBC 驱动程序实现使用包装器模式提供超越传统 JDBC API 的扩展,传统 JDBC API 是特定于数据源的。开发人员可能希望访问那些被包装(代理)为代表实际资源代理类实例的资源。此接口描述访问那些由代理代表的包装资源的标准机制,以允许对资源代理的直接访问。

config_man 2009-11-07
  • 打赏
  • 举报
回复
没找到此接口....
fanxing168 2009-11-07
  • 打赏
  • 举报
回复
没有深入了解

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧