xuxiuxi
2017-07-24 e90fb8dc455cb0d94c5bd16120427dbfbad7b0b0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.awsle.aibatis.xml.engine.converters.basic;
 
import com.awsle.aibatis.xml.engine.converters.ConversionException;
 
public class JavaClassConverter extends AbstractBasicConverter {
 
    private ClassLoader classLoader;
 
    public JavaClassConverter() {
        this(Thread.currentThread().getContextClassLoader());
    }
 
    public JavaClassConverter(ClassLoader classLoader) {
        this.classLoader = classLoader;
    }
 
    public boolean canConvert(Class clazz) {
        return Class.class.equals(clazz); // :)
    }
 
    protected String toString(Object obj) {
        return ((Class) obj).getName();
    }
 
    protected Object fromString(String str) {
        try {
            return classLoader.loadClass(str);
        } catch (ClassNotFoundException e) {
            throw new ConversionException("Cannot load java class " + str, e);
        }
    }
 
}