private Set<String> findResourceNames(String path,String prefix,String suffix) throws IOException {
  Set<String> resourceNames=new TreeSet<String>();
  List<URL> locationsUrls=getLocationUrlsForPath(path);
  for (  URL locationUrl : locationsUrls) {
    LOG.debug("Scanning URL: " + locationUrl.toExternalForm());
    UrlResolver urlResolver=createUrlResolver(locationUrl.getProtocol());
    URL resolvedUrl=urlResolver.toStandardJavaUrl(locationUrl);
    String protocol=resolvedUrl.getProtocol();
    ClassPathLocationScanner classPathLocationScanner=createLocationScanner(protocol);
    if (classPathLocationScanner == null) {
      String scanRoot=UrlUtils.toFilePath(resolvedUrl);
      LOG.warn("Unable to scan location: " + scanRoot + " (unsupported protocol: "+ protocol+ ")");
    }
 else {
      resourceNames.addAll(classPathLocationScanner.findResourceNames(path,resolvedUrl));
    }
  }
  return filterResourceNames(resourceNames,prefix,suffix);
}

private Set < String > findResourceNames ( String path , String prefix , String suffix ) throws IOException { Set < String > resourceNames = new TreeSet < String > ( ) ; List < URL > locationsUrls = getLocationUrlsForPath ( path ) ; for ( URL locationUrl : locationsUrls ) { LOG . debug ( "Scanning URL: " + locationUrl . toExternalForm ( ) ) ; UrlResolver urlResolver = createUrlResolver ( locationUrl . getProtocol ( ) ) ; URL resolvedUrl = urlResolver . toStandardJavaUrl ( locationUrl ) ; String protocol = resolvedUrl . getProtocol ( ) ; ClassPathLocationScanner classPathLocationScanner = createLocationScanner ( protocol ) ; if ( classPathLocationScanner == null ) { String scanRoot = UrlUtils . toFilePath ( resolvedUrl ) ; LOG . warn ( "Unable to scan location: " + scanRoot + " (unsupported protocol: " + protocol + ")" ) ; } else { resourceNames . addAll ( classPathLocationScanner . findResourceNames ( path , resolvedUrl ) ) ; } } return filterResourceNames ( resourceNames , prefix , suffix ) ; }
finds the resources names present at this location and below on the classpath starting with this prefix and ending with this suffix .
