/* * Created on Oct 1, 2005 */ package com.ai.typefaces; import java.util.Iterator; import com.ai.common.IDictionary; import com.ai.reflection.BeanInfo; import com.ai.reflection.BeanInfoRegistry; import com.ai.reflection.FieldInfo; import com.ai.reflection.ReflectionException; /** * @author Satya Komatineni * */ public class TypeFaceFacility implements ITypeFaceFacility { public Object castTo(Class objectClass, IDictionary dictionary) throws ReflectionException { //Instantiate the object based on the class //instantiate a bean info for this object //For each public field infos // get its name // get its value from dictionary // set the value using get or directly on the field info // return the object BeanInfo bi = BeanInfoRegistry.getBeanInfo(objectClass); Object targetObject = bi.constructObject(); Iterator fieldInfoItr = bi.getFieldInfos(); while(fieldInfoItr.hasNext()) { //for each field info FieldInfo fi = (FieldInfo)fieldInfoItr.next(); Object fieldValue = dictionary.get(fi.m_name); fi.setValueUsingString(targetObject,(String)fieldValue); } return null; } }