src/main/java/com/rockagen/commons/util/ClassUtil.java
public static Constructor<?> getDeclaredConstructor(Class<?> clazz,
			boolean recursively, Class<?>... parameterTypes) {

		try {
			return clazz
					.getDeclaredConstructor(parameterTypes);
		} catch (NoSuchMethodException e) {
			Class<?> superClass = clazz.getSuperclass();
			if (superClass != null && recursively) {
				return getDeclaredConstructor(superClass, true,
						parameterTypes);
			}
		} catch (SecurityException e) {
			log.error("{}",e.getMessage(),e);
		}
		return null;
	}
public static Constructor<?> getDeclaredConstructor(Class<?> clazz,
			boolean recursively, Class<?>... parameterTypes) {

		try {
			return clazz
					.getDeclaredConstructor(parameterTypes);
		} catch (NoSuchMethodException e) {
			Class<?> superClass = clazz.getSuperclass();
			if (superClass != null && recursively) {
				return getDeclaredConstructor(superClass, true,
						parameterTypes);
			}
		} catch (SecurityException e) {
			log.error("{}",e.getMessage(),e);
		}
		return null;
	}
public static Constructor < ? > getDeclaredConstructor ( Class < ? > clazz , boolean recursively , Class < ? > ... parameterTypes ) { try { return clazz . getDeclaredConstructor ( parameterTypes ) ; } catch ( NoSuchMethodException e ) { Class < ? > superClass = clazz . getSuperclass ( ) ; if ( superClass != null && recursively ) { return getDeclaredConstructor ( superClass , true , parameterTypes ) ; } } catch ( SecurityException e ) { log . error ( "{}" , e . getMessage ( ) , e ) ; } return null ; }
obtain constructor list of specified class If recursively is true, obtain
constructor from all class hierarchy


@param clazz class
where fields are searching
@param recursively
param
@param parameterTypes parameter types
@return constructor
obtain constructor list of specified class If recursively is true obtain constructor from all class hierarchy