1 16 17 18 package org.apache.commons.beanutils.converters; 19 20 21 import org.apache.commons.beanutils.ConversionException; 22 import org.apache.commons.beanutils.Converter; 23 24 25 37 38 public final class ClassConverter implements Converter { 39 40 41 43 44 48 public ClassConverter() { 49 50 this.defaultValue = null; 51 this.useDefault = false; 52 53 } 54 55 56 62 public ClassConverter(Object defaultValue) { 63 64 this.defaultValue = defaultValue; 65 this.useDefault = true; 66 67 } 68 69 70 72 73 76 private Object defaultValue = null; 77 78 79 82 private boolean useDefault = true; 83 84 85 87 88 98 public Object convert(Class type, Object value) { 99 100 if (value == null) { 101 if (useDefault) { 102 return (defaultValue); 103 } else { 104 throw new ConversionException("No value specified"); 105 } 106 } 107 108 if (value instanceof Class ) { 109 return (value); 110 } 111 112 try { 113 ClassLoader classLoader = 114 Thread.currentThread().getContextClassLoader(); 115 if (classLoader == null) { 116 classLoader = ClassConverter.class.getClassLoader(); 117 } 118 return (classLoader.loadClass(value.toString())); 119 } catch (Exception e) { 120 if (useDefault) { 121 return (defaultValue); 122 } else { 123 throw new ConversionException(e); 124 } 125 } 126 127 } 128 129 130 } 131 | Popular Tags |