1 /*
2 * Copyright (C) The Spice Group. All rights reserved.
3 *
4 * This software is published under the terms of the Spice
5 * Software License version 1.1, a copy of which has been included
6 * with this distribution in the LICENSE.txt file.
7 */
8 package org.realityforge.converter.lib;
9
10 import org.realityforge.converter.AbstractConverter;
11 import org.realityforge.converter.ConverterException;
12
13 /***
14 * String to class converter
15 *
16 * @author <a href="mailto:peter at realityforge.org">Peter Donald</a>
17 * @version $Revision: 1.4 $ $Date: 2003/03/25 02:51:26 $
18 */
19 public class StringToClassConverter
20 extends AbstractConverter
21 {
22 /***
23 * Construct the converter.
24 */
25 public StringToClassConverter()
26 {
27 this( null );
28 }
29
30 /***
31 * Construct the converter with a default value.
32 * If the default value is non-null, it will be returned if unable
33 * to convert object to correct type.
34 *
35 * @param defaultValue the default value
36 */
37 public StringToClassConverter( final Class defaultValue )
38 {
39 super( String.class, Class.class, defaultValue );
40 }
41
42 /***
43 * Converts a String to a Class.
44 *
45 * @param object the original object to convert
46 * @param context the context in which to convert object (unused)
47 * @return the converted object
48 * @throws ConverterException if error converting object
49 */
50 public Object convert( final Object object, final Object context )
51 throws ConverterException
52 {
53 //TODO: Should we use ContextClassLoader here???
54 try
55 {
56 return Class.forName( (String)object );
57 }
58 catch( final Exception e )
59 {
60 return noConvert( object, e );
61 }
62 }
63 }
64
This page was automatically generated by Maven