Mega Code Archive

 
Categories / Java / Reflection
 

Utility to essentially do Class forName and allow configurable Classloaders

import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.List; import java.util.Locale; import java.util.Map; import javax.servlet.http.HttpServletResponse; /*  * Copyright 2005 Joe Walker  *  * Licensed under the Apache License, Version 2.0 (the "License");  * you may not use this file except in compliance with the License.  * You may obtain a copy of the License at  *  *     http://www.apache.org/licenses/LICENSE-2.0  *  * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */ /**  * @author Joe Walker [joe at getahead dot ltd dot uk]  */ public class Main {   /**    * Utility to essentially do Class forName and allow configurable    * Classloaders.    * <p>The initial implementation makes use of the context classloader for    * the current thread.    * @param className The class to create    * @return The class if it is safe or null otherwise.    * @throws ClassNotFoundException If <code>className</code> is not valid    */   public static Class<?> classForName(String className) throws ClassNotFoundException   {       // Class.forName(className);       return Thread.currentThread().getContextClassLoader().loadClass(className);   } }