@Override
    public Class<?> fromComponentNameToClass(final String componentName) { // *important
        if (LdiStringUtil.isEmpty(componentName)) {
            throw new EmptyRuntimeException("componentName");
        }
        final String suffix = fromComponentNameToSuffix(componentName);
        if (suffix == null) {
            return null;
        }
        final String middlePackageName = fromSuffixToPackageName(suffix);
        final String partOfClassName = fromComponentNameToPartOfClassName(componentName);
        final boolean subAppSuffix = isSubAppSuffix(suffix);
        final boolean webAppSufix = isWebAppSuffix(suffix);
        final boolean jobAppSufix = isJobAppSuffix(suffix);
        for (int i = 0; i < rootPackageNames.length; ++i) {
            final String rootPackageName = rootPackageNames[i];
            if (subAppSuffix) { // first search sub application package
                Class<?> clazz = null;
                if (webAppSufix) {
                    clazz = findWebClass(rootPackageName, partOfClassName);
                } else if (jobAppSufix) {
                    clazz = findJobClass(rootPackageName, partOfClassName);
                }
                if (clazz != null) {
                    return clazz;
                }
                clazz = findClass(rootPackageName, middlePackageName, partOfClassName);
                if (clazz != null) {
                    return clazz;
                }
            } else {
                Class<?> clazz = findClass(rootPackageName, middlePackageName, partOfClassName);
                if (clazz != null) {
                    return clazz;
                }
                if (webAppSufix) {
                    clazz = findWebClass(rootPackageName, partOfClassName);
                } else if (jobAppSufix) {
                    clazz = findJobClass(rootPackageName, partOfClassName);
                } else { // e.g. base_login_harborLoginAssist (by "pickup" method)
                    clazz = findWebClass(rootPackageName, partOfClassName); // find as web at first
                    if (clazz == null) {
                        clazz = findJobClass(rootPackageName, partOfClassName); // and job as next
                    }
                }
                if (clazz != null) {
                    return clazz;
                }
            }
        }
        return null;
    }
@ Override public Class < ? > fromComponentNameToClass ( final String componentName ) { if ( LdiStringUtil . isEmpty ( componentName ) ) { throw new EmptyRuntimeException ( "componentName" ) ; } final String suffix = fromComponentNameToSuffix ( componentName ) ; if ( suffix == null ) { return null ; } final String middlePackageName = fromSuffixToPackageName ( suffix ) ; final String partOfClassName = fromComponentNameToPartOfClassName ( componentName ) ; final boolean subAppSuffix = isSubAppSuffix ( suffix ) ; final boolean webAppSufix = isWebAppSuffix ( suffix ) ; final boolean jobAppSufix = isJobAppSuffix ( suffix ) ; for ( int i = 0 ; i < rootPackageNames . length ; ++ i ) { final String rootPackageName = rootPackageNames [ i ] ; if ( subAppSuffix ) { Class < ? > clazz = null ; if ( webAppSufix ) { clazz = findWebClass ( rootPackageName , partOfClassName ) ; } else if ( jobAppSufix ) { clazz = findJobClass ( rootPackageName , partOfClassName ) ; } if ( clazz != null ) { return clazz ; } clazz = findClass ( rootPackageName , middlePackageName , partOfClassName ) ; if ( clazz != null ) { return clazz ; } } else { Class < ? > clazz = findClass ( rootPackageName , middlePackageName , partOfClassName ) ; if ( clazz != null ) { return clazz ; } if ( webAppSufix ) { clazz = findWebClass ( rootPackageName , partOfClassName ) ; } else if ( jobAppSufix ) { clazz = findJobClass ( rootPackageName , partOfClassName ) ; } else { clazz = findWebClass ( rootPackageName , partOfClassName ) ; if ( clazz == null ) { clazz = findJobClass ( rootPackageName , partOfClassName ) ; } } if ( clazz != null ) { return clazz ; } } } return null ; }
----------------------