1 package org.columba.core.plugin; 19 20 import java.lang.reflect.Constructor ; 21 22 26 public class ClassLoaderHelper { 27 28 34 public static Constructor findConstructor(Object [] args, Class actClass) 35 throws NoSuchMethodException { 36 37 Constructor constructor = null; 38 39 Constructor [] list = actClass.getConstructors(); 40 41 for (int i = 0; i < list.length; i++) { 42 Constructor c = list[i]; 43 44 Class [] parameterTypes = c.getParameterTypes(); 45 46 if (parameterTypes.length == args.length) { 49 boolean success = true; 50 51 for (int j = 0; j < parameterTypes.length; j++) { 52 Class parameter = parameterTypes[j]; 53 54 if (args[j] == null) { 55 success = true; 56 } else if (!parameter.isAssignableFrom(args[j].getClass())) { 57 success = false; 58 } 59 } 60 61 if (success) { 64 constructor = actClass.getConstructor(parameterTypes); 65 } 66 } 67 } 68 return constructor; 69 } 70 } | Popular Tags |