`
sunxboy
  • 浏览: 2888335 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Jakarta-Common-BeanUtils研究心得(二)

阅读更多
java 代码
 
  1. // Convert this list into the internal data structures we need  
  2. properties =  
  3. (DynaProperty[]) list.toArray(new DynaProperty[list.size()]);  
  4. for (int i = 0; i < properties.length; i++) {  
  5. propertiesMap.put(properties[i].getName(), properties[i]);  
  6. }  
  7.   
  8. }  
  9.   
  10. /** 
  11. * <p>Factory method to create a new DynaProperty for the given index 
  12. * into the result set metadata.</p> 
  13. * 
  14. * @param metadata is the result set metadata 
  15. * @param i is the column index in the metadata 
  16. * @return the newly created DynaProperty instance 
  17. */  
  18. protected DynaProperty createDynaProperty(  
  19. ResultSetMetaData metadata,  
  20. int i)  
  21. throws SQLException {  
  22.   
  23. String name = null;  
  24. if (lowerCase) {  
  25. name = metadata.getColumnName(i).toLowerCase();  
  26. else {  
  27. name = metadata.getColumnName(i);  
  28. }  
  29. String className = null;  
  30. try {  
  31. className = metadata.getColumnClassName(i);  
  32. catch (SQLException e) {  
  33. // this is a patch for HsqlDb to ignore exceptions  
  34. // thrown by its metadata implementation  
  35. }  
  36.   
  37. // Default to Object type if no class name could be retrieved  
  38. // from the metadata  
  39. Class clazz = Object.class;  
  40. if (className != null) {  
  41. clazz = loadClass(className);  
  42. }  
  43. return new DynaProperty(name, clazz);  
  44.   
  45. }  
  46.   
  47. /** 
  48. * <p>Loads and returns the <code>Class</code> of the given name. 
  49. * By default, a load from the thread context class loader is attempted. 
  50. * If there is no such class loader, the class loader used to load this 
  51. * class will be utilized.</p> 
  52. * 
  53. * @exception SQLException if an exception was thrown trying to load 
  54. *  the specified class 
  55. */  
  56. protected Class loadClass(String className) throws SQLException {  
  57.   
  58. try {  
  59. ClassLoader cl = Thread.currentThread().getContextClassLoader();  
  60. if (cl == null) {  
  61. cl = this.getClass().getClassLoader();  
  62. }  
  63. return (cl.loadClass(className));  
  64. catch (Exception e) {  
  65. throw new SQLException(  
  66. "Cannot load column class '" + className + "': " + e);  
  67. }  
  68.   
  69. }  
  70.   
  71. }  
  72.   
  73. 大部分代码从BeanUtils的源码中取得,只做了简单的修改,没有加多余的注释。如果要正式使用,  
  74. 需要再做精加工。  
分享到:
评论

相关推荐

    jakarta-taglibs-standard-1.1.2.rar_jakarta-taglibs_standard1.1_s

    "jakarta-taglibs-standard-1.1.2.rar"是一个包含Jakarta Taglibs标准版1.1.2版本的压缩包文件,这个版本在当时是广泛使用的。下面我们将深入探讨Jakarta Taglibs、标准标签库以及它们与Struts框架的关系。 Jakarta...

    jakarta-struts-1.1.zip_jakarta-Struts-1_jakarta-struts 1_jakarta

    在"jakarta-struts-1.1.zip"这个压缩包中,包含了Jakarta Struts 1.1版本的核心组件和相关资源。 `struts-documentation.war`文件是一个预打包的Web应用,通常用于部署到Servlet容器,如Tomcat或Jetty。这个WAR文件...

    jakarta-oro-2.0.8.rar_Perl5Util jar_jakarta-oro-2.0.8_oro

    而`jakarta-oro-2.0.8`目录可能包含了完整的源代码、API文档和其他相关资源,如构建脚本和测试用例,这些都是深入学习和调试的重要资料。 总的来说,Jakarta ORO 2.0.8提供了与Perl 5兼容的正则表达式引擎,对于...

    apache-jakarta旗下的所有开源项目jar文件

    apache-jakarta-commons-codec.jar apache-jakarta-commons-collections.jar apache-jakarta-commons-discovery.jar apache-jakarta-commons-email.jar apache-jakarta-commons-fileupload.jar apache-jakarta-...

    jakarta-oro-2.0.1.zip_Jakarta ORO _Jakarta-O_jakarta-oro-2_jakar

    而"jakarta-oro-2.0.1"可能是一个包含源码、jar文件和其他资源的目录,供开发者研究和集成到他们的项目中。 总的来说,Jakarta ORO 是Java开发者处理正则表达式的强大工具,它的灵活性和高效性使其成为许多项目的...

    jakarta-tomcat-5.0.28免安装版

    【Jakarta Tomcat 5.0.28 免安装版详解】 Jakarta Tomcat,由Apache软件基金会开发,是一个开源的、免费的应用服务器,它主要用于处理Java Servlets和JavaServer Pages (JSP)。Tomcat 5.0.28是这个系列的一个重要...

    jakarta-commons 相关依赖包

    jakarta-commons 相关依赖包,文件列表: commons-attributes-api.jar commons-attributes-compiler.jar commons-beanutils.jar commons-codec.jar commons-collections.jar commons-dbcp.jar commons-digester.jar ...

    jakarta-httpcore-4.0-alpha2.jar

    jakarta-httpcore-4.0-alpha2.jar用于移动开发的包

    jakarta-taglibs-standard-1.1.2.rar

    《Jakarta Taglibs Standard 1.1.2:Java Web开发中的标签库解析》 Jakarta Taglibs Standard 1.1.2是Java Web开发中的一款重要组件,它为开发者提供了一套标准的标签库,使得在JSP(JavaServer Pages)页面中编写...

    jakarta-taglibs-standard-1.1.2.zip

    要使用jakarta-taglibs-standard-1.1.2.zip,首先需要将其解压缩,然后将jar文件添加到项目的类路径中。接着,在JSP页面上通过`&lt;%@ taglib %&gt; `指令导入所需的JSTL库。例如,导入Core库的指令为: ```jsp ``` ...

    commons-net-1.4.1 和 jakarta-oro-2.0.8 .rar

    压缩包中的"jakarta-oro-2.0.8.jar"是Jakarta ORO库的JAR文件,可以直接引入Java项目中使用。而"commons-net-1.4.1.zip"则是Apache Commons Net库的源代码压缩包,通常用于开发人员查看源代码、调试或自定义库的功能...

    jakarta-servletapi-5.rar

    jakarta-servletapi-5.rar jakarta-servletapi-5.rar jakarta-servletapi-5.rar jakarta-servletapi-5.rar jakarta-servletapi-5.rar jakarta-servletapi-5.rar jakarta-servletapi-5.rar

    apache的FTP包commons-net-1.4.1.jar,jakarta-oro-2.0.8.jar

    `jakarta-oro-2.0.8.jar`则是Jakarta ORO(Oracle Regular Expressions for Java)库,它提供了Perl 5风格的正则表达式支持。虽然在FTP操作中不是必需的,但它在处理字符串时非常有用,比如在解析FTP服务器返回的...

    jakarta-oro-2.0.8.jar

    使用commons的net包进行ftp链接,commons-net包封装了一些常见的网络包:ftp,smtp,pop3等 相关包:commons-net-1.4.1.jar ; commons-io-1.4.jar;jakarta-oro-2.0.8.jar

    jakarta-tomcat-4.0-b1.zip

    《 jakarta-tomcat-4.0-b1.zip:深入解析Tomcat与JSTL的融合应用》 在IT行业中,服务器端应用的部署和运行是至关重要的环节,而Apache Tomcat作为Java Servlet和JavaServer Pages(JSP)的开源Web应用服务器,一直...

    apache-jakarta-oro-2.0.8.jar

    jar包,亲测可用

    jakarta-taglibs-standard-current (JSP 标准标签库(JSTL) )

    在给定的压缩包`jakarta-taglibs-standard-1.1.2`中,我们主要关注的是JSTL 1.1.2版本。 **JSTL的核心组件包括:** 1. **Core标签库(c:tags)**:这是最基础的库,包含一系列用于控制流程(如if、choose、when、...

    commons-beanutils-1.8.3

    commons-beanutils-1.8.3.rar官方正版免费版,BeanUtils主要提供了对于JavaBean进行各种操作。 个包主要提供用于操作JavaBean的工具类,Jakarta-Common-BeanUtils的主要功能都在这个包里实现。

    jakarta-taglibs 集合包

    总的来说,Jakarta Taglibs虽然已经不再是最新的技术,但它仍然是Java Web开发历史上的一个重要里程碑,对于希望深入理解Web开发技术的程序员来说,仍然是一个值得学习和研究的对象。通过探索和实践,我们可以从中...

Global site tag (gtag.js) - Google Analytics