public static Class<?> loadClassSafe( String typeString ) { try { return loadClass( typeString ); } catch( Exception exception ) { return null; } }
public static Object invokeStaticMethod( ClassLoader loader, String typeString, String methodName, Object[] parameters, Class[] parameterTypes ) { Class type = loadClass( loader, typeString ); return invokeStaticMethod( type, methodName, parameters, parameterTypes ); }
public static Class<?> loadClass( ClassLoader loader, String typeString ) { try { return loader.loadClass( typeString ); } catch( ClassNotFoundException exception ) { throw new CascadingException( "unable to load class: " + typeString, exception ); } }
private Class loadClass( String className, String jarPath ) { LOG.debug( "loading: {} from: {}", className, jarPath ); if( jarPath == null ) // its a default factory { classLoader = Thread.currentThread().getContextClassLoader(); return Reflection.loadClass( classLoader, className ); } String qualifiedPath = platformBroker.makePath( platformBroker.getFullProviderPath(), jarPath ); try { return platformBroker.loadClass( qualifiedPath, className ); } finally { try { classLoader = platformBroker.getUrlClassLoader( qualifiedPath ); } catch( Exception exception ) { // do nothing } } } }