public static Class < ? > getClass ( ClassLoader classLoader , String className ) { try { final Class < ? > clazz ; if ( PRIMITIVE_MAPPING . containsKey ( className ) ) { String qualifiedName = "[" + PRIMITIVE_MAPPING . get ( className ) ; clazz = Class . forName ( qualifiedName , true , classLoader ) . getComponentType ( ) ; } else { clazz = Class . forName ( determineQualifiedName ( className ) , true , classLoader ) ; } return clazz ; } catch ( ClassNotFoundException ex ) { int lastSeparatorIndex = className . lastIndexOf ( PACKAGE_SEPARATOR_CHARACTER ) ; if ( lastSeparatorIndex != - 1 ) { return getClass ( classLoader , className . substring ( 0 , lastSeparatorIndex ) + INNER_CLASS_SEPARATOR_CHAR + className . substring ( lastSeparatorIndex + 1 ) ) ; } throw new IllegalArgumentException ( "Unable to unmarshall String to Class: " + className ) ; } }
Attempt to load the class matching the given qualified name