public static Collection getConfigurationClassesForPackages()

in src/main/java/org/apache/sling/testing/mock/caconfig/ConfigurationMetadataUtil.java [116:131]


    public static Collection<Class> getConfigurationClassesForPackages(@NotNull String packageNames) {
        List<Class> classes = CONFIGURATION_CLASSES_FOR_PACKAGES.get(packageNames);
        if (classes == null) {
            classes = new ArrayList<Class>();
            String[] packageNameArray = StringUtils.split(packageNames, ",");
            // add "." to each package name because it's a prefix, not a package name
            Object[] prefixArray = new Object[packageNameArray.length];
            for (int i = 0; i < packageNameArray.length; i++) {
                prefixArray[i] = packageNameArray[i] + ".";
            }
            Reflections reflections = new Reflections(prefixArray);
            classes.addAll(reflections.getTypesAnnotatedWith(Configuration.class));
            CONFIGURATION_CLASSES_FOR_PACKAGES.putIfAbsent(packageNames, classes);
        }
        return classes;
    }