KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sape > carbon > core > config > type > handlers > ClassTypeHandler


1 /*
2  * The contents of this file are subject to the Sapient Public License
3  * Version 1.0 (the "License"); you may not use this file except in compliance
4  * with the License. You may obtain a copy of the License at
5  * http://carbon.sf.net/License.html.
6  *
7  * Software distributed under the License is distributed on an "AS IS" basis,
8  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
9  * the specific language governing rights and limitations under the License.
10  *
11  * The Original Code is The Carbon Component Framework.
12  *
13  * The Initial Developer of the Original Code is Sapient Corporation
14  *
15  * Copyright (C) 2003 Sapient Corporation. All Rights Reserved.
16  */

17
18 package org.sape.carbon.core.config.type.handlers;
19
20
21
22 import org.sape.carbon.core.config.type.ConfigurationTypeHandler;
23 import org.sape.carbon.core.config.type.TypeConversionException;
24
25 /**
26  * <P>Parses and formats between Strings and Class objects.</P>
27  *
28  * Copyright 2002 Sapient
29  * @since carbon 1.0
30  * @author Greg Hinkle, January 2002
31  * @version $Revision: 1.15 $($Author: dvoet $ / $Date: 2003/05/05 21:21:20 $)
32  */

33 public class ClassTypeHandler implements ConfigurationTypeHandler {
34
35     /**
36      * <P>Parses a string into a Class object.</P>
37      *
38      * @param type type of object to be converted to class
39      * @param stringValue the String representation of the requested Class
40      * @return Class version of the String
41      * @throws TypeConversionException when the string does not represent
42      * a valid Class
43      */

44     public Object JavaDoc toObject(Class JavaDoc type, String JavaDoc stringValue)
45     throws TypeConversionException {
46
47         if (stringValue == null) {
48             throw new TypeConversionException(
49                 this.getClass(),
50                 "Cannot load a class with a null name.");
51         }
52
53         Class JavaDoc object = null;
54         try {
55             object =
56                 Class.forName(
57                     stringValue.trim(),
58                     true,
59                     this.getClass().getClassLoader());
60         } catch (ClassNotFoundException JavaDoc cnfe) {
61             throw new TypeConversionException(
62                 this.getClass(),
63                     "Couldn't format", cnfe);
64         }
65         return object;
66     }
67
68     /**
69      * <P>Formats an Class into a String value.</P>
70      *
71      * @param objectValue the Class to be formatted
72      * @return string version of the class object
73      * @throws ClassCastException when past an object other than a Class
74      */

75     public String JavaDoc toString(Object JavaDoc objectValue) {
76         return ((Class JavaDoc) objectValue).getName();
77     }
78
79 }
80
Popular Tags