/** * Returns the parameter types. * * @param clazz the reference class * @return the parameter types. */ public Class<?>[] getParametersTypes(Class<?> clazz) { if (parameterTypes == null) return stringsToClasses(clazz, parameters); return parameterTypes; }
/** * Convert classes to string * * @param clazz the reference class * @param parameters the parameters as strings * @return the parameters as classes */ private static Class<?>[] stringsToClasses(Class<?> clazz, String... parameters) { if (clazz == null) throw new IllegalArgumentException("Null clazz"); ClassLoader cl = clazz.getClassLoader(); if (cl == null) { cl = Class.class.getClassLoader(); if (cl == null) { //Bootstrap classloader was represented as null, use the tcl cl = Thread.currentThread().getContextClassLoader(); } } return stringsToClasses(cl, parameters); }
/** * Convert classes to string * * @param clazz the reference class * @param parameters the parameters as strings * @return the parameters as classes */ private static Class<?>[] stringsToClasses(Class<?> clazz, String... parameters) { if (clazz == null) throw new IllegalArgumentException("Null clazz"); ClassLoader cl = clazz.getClassLoader(); if (cl == null) { cl = Class.class.getClassLoader(); if (cl == null) { //Bootstrap classloader was represented as null, use the tcl cl = Thread.currentThread().getContextClassLoader(); } } return stringsToClasses(cl, parameters); }
/** * Returns the parameter types. * * @param clazz the reference class * @return the parameter types. */ public Class<?>[] getParametersTypes(Class<?> clazz) { if (parameterTypes == null) { parameterTypes = getParameterTypes(); if (parameterTypes == null) parameterTypes = stringsToClasses(clazz, parameters); } return parameterTypes; }