/**********************************************************\ | | | hprose | | | | Official WebSite: http://www.hprose.com/ | | http://www.hprose.org/ | | | \**********************************************************/ /**********************************************************\ * * * DefaultConverter.java * * * * DefaultConverter class for Java. * * * * LastModified: Aug 3, 2016 * * Author: Ma Bingyao <andot@hprose.com> * * * \**********************************************************/ package net.hasor.libs.com.hprose.io.convert; import net.hasor.libs.com.hprose.utils.ClassUtil; import java.lang.reflect.Type; public class DefaultConverter implements Converter { public final static DefaultConverter instance = new DefaultConverter(); public Object convertTo(Object obj, Type type) { if (type == null) return obj; Class<?> cls = ClassUtil.toClass(type); if (cls == null || cls.equals(Object.class) || cls.isInstance(obj)) { return obj; } Converter converter = ConverterFactory.get(cls); if (converter == null) { return cls.cast(obj); } return converter.convertTo(obj, type); } }