KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jodd > bean > loader > ResultSetBeanLoader


1 // Copyright (c) 2003-2007, Jodd Team (jodd.sf.net). All Rights Reserved.
2

3 package jodd.bean.loader;
4
5 import java.sql.ResultSet JavaDoc;
6 import java.sql.ResultSetMetaData JavaDoc;
7 import java.util.StringTokenizer JavaDoc;
8
9 import jodd.bean.BeanUtil;
10 import jodd.bean.BeanException;
11
12 /**
13  * Populate java bean from ResultSet objects.
14  */

15 public class ResultSetBeanLoader implements BeanLoader {
16
17     public static void loadBean(Object JavaDoc bean, Object JavaDoc rs) {
18         if (rs instanceof ResultSet JavaDoc) {
19             try {
20                 ResultSetMetaData JavaDoc rsmd = ((ResultSet JavaDoc)rs).getMetaData();
21                 int numberOfColumns = rsmd.getColumnCount();
22                 for (int i = 1; i <= numberOfColumns; i++) {
23                     StringTokenizer JavaDoc st = new StringTokenizer JavaDoc(rsmd.getColumnName(i), "_");
24                     StringBuffer JavaDoc columnName = new StringBuffer JavaDoc();
25                     while (st.hasMoreTokens()) {
26                         String JavaDoc token = st.nextToken().toLowerCase();
27                         columnName.append(token.substring(0, 1).toUpperCase()).append(token.substring(1));
28                     }
29                     try {
30                         BeanUtil.setPropertyForcedSilent(bean, columnName.toString(), ((ResultSet JavaDoc)rs).getObject(i));
31                     } catch (BeanException bex) {
32                         // ignore exception
33
}
34                 }
35             } catch (Exception JavaDoc ex) {
36                 // ignore
37
}
38         }
39     }
40
41     public void load(Object JavaDoc bean, Object JavaDoc rs) {
42         loadBean(bean, rs);
43     }
44
45 }
46
47
Popular Tags