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