All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.xmlform.data.DataHelper Maven / Gradle / Ivy

There is a newer version: 3.2.1
Show newest version
package net.sf.xmlform.data;

import java.util.HashMap;
import java.util.Map;

import net.sf.xmlform.XMLFormException;
import net.sf.xmlform.util.FormUtils;

/**
 * @author Liu Zhikun
 */

public class DataHelper {
	static private Map classMap=new HashMap();
	
	static public Object createObject(String className){
		ClassLoader loader=null;
		try {
			loader = Thread.currentThread().getContextClassLoader();
		}catch(Exception e) {
			loader=DataHelper.class.getClassLoader();
			if(loader==null)
				loader=ClassLoader.getSystemClassLoader();
		}
		try {
			return Class.forName(className,true,loader).getDeclaredConstructor().newInstance();
		} catch (Exception e) {
			throw new XMLFormException(XMLFormException.SE_FORM_DEFINITION,e.toString(),e);
		}
	}
//	static public Object createObject(String className){
//		Class cls=classMap.get(className);
//		if(cls==null) {
//			synchronized(classMap) {
//				cls=classMap.get(className);
//				if(cls==null) {
//					ClassLoader loader=null;
//					try {
//						loader = Thread.currentThread().getContextClassLoader();
//					}catch(Exception e) {
//						loader=DataHelper.class.getClassLoader();
//						if(loader==null)
//							loader=ClassLoader.getSystemClassLoader();
//					}
//					try {
//						cls=Class.forName(className,true,loader);
//						classMap.put(className, cls);
//						return cls.newInstance();
//					} catch (Exception e) {
//						throw new XMLFormException(XMLFormException.SE_FORM_DEFINITION,e.toString(),e);
//					}
//				}
//			}
//		}
//		
//		try {
//			return cls.newInstance();
//		} catch (Exception e) {
//			throw new XMLFormException(XMLFormException.SE_FORM_DEFINITION,e.toString(),e);
//		}
//	}
	static public Object createObject(Class cls){
		try {
			return cls.getDeclaredConstructor().newInstance();
		} catch (Exception e) {
			throw new XMLFormException(XMLFormException.SE_FORM_DEFINITION,e.toString(),e);
		}
	}
//	static public void clearClassCache() {
//		synchronized(classMap) {
//			classMap.clear();
//		}
//	}
	static public void removeValue(Object bean,String name){
		if(bean instanceof Map){
			((Map)bean).remove(name);
		}else{
			FormUtils.setBeanProperty(bean, name,null);
		}
	}
	static public void setValue(Object bean,String name,Object value){
		FormUtils.setBeanProperty(bean, name,value,true);
	}
	
	static public Object getValue(Object bean,String name){
		return FormUtils.getBeanProperty(bean, name);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy