KickJava   Java API By Example, From Geeks To Geeks.

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


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

3 package jodd.bean.loader;
4
5 import java.util.Iterator JavaDoc;
6 import java.util.Map JavaDoc;
7
8 import jodd.bean.BeanUtil;
9 import jodd.bean.BeanException;
10
11 /**
12  * Populate java bean using objects that are implementation of Map interface.
13  * <p>
14  * Properties in Map object are defined as follows:
15  * each key of Map object is a string the represents a bean property name and
16  * keys value is an object that represents bean property value.
17  */

18 public class MapBeanLoader implements BeanLoader {
19
20     public static void loadBean(Object JavaDoc bean, Object JavaDoc map) {
21         if (map instanceof Map JavaDoc) {
22             Iterator JavaDoc i = ((Map JavaDoc)map).keySet().iterator();
23             while (i.hasNext()) {
24                 String JavaDoc propertyName = (String JavaDoc) i.next();
25                 Object JavaDoc propertyValue = ((Map JavaDoc)map).get(propertyName);
26                 if (propertyValue == null) {
27                     return;
28                 }
29                 try {
30                     BeanUtil.setPropertyForcedSilent(bean, propertyName, propertyValue);
31                 } catch (BeanException bex) {
32                     // ignore exception
33
}
34             }
35         }
36     }
37
38     public void load(Object JavaDoc bean, Object JavaDoc map) {
39         loadBean(bean, map);
40     }
41
42 }
43
Popular Tags