protected Resource[] findPathMatchingResources(String locationPattern) throws IOException {
		String rootDirPath = determineRootDir(locationPattern);
		String subPattern = locationPattern.substring(rootDirPath.length());
		Resource[] rootDirResources = getResources(rootDirPath);
		Set<Resource> result = new LinkedHashSet<Resource>(16);
		for (Resource rootDirResource : rootDirResources) {
			rootDirResource = resolveRootDirResource(rootDirResource);
			if (rootDirResource.getURL().getProtocol().startsWith(ResourceUtils.URL_PROTOCOL_VFS)) {
				result.addAll(VfsResourceMatchingDelegate.findMatchingResources(rootDirResource, subPattern, getPathMatcher()));
			}
			else if (isJarResource(rootDirResource)) {
				result.addAll(doFindPathMatchingJarResources(rootDirResource, subPattern));
			}
			else {
				result.addAll(doFindPathMatchingFileResources(rootDirResource, subPattern));
			}
		}
		if (logger.isDebugEnabled()) {
			logger.debug("Resolved location pattern [" + locationPattern + "] to resources " + result);
		}
		return result.toArray(new Resource[result.size()]);
	}
protected Resource [ ] findPathMatchingResources ( String locationPattern ) throws IOException { String rootDirPath = determineRootDir ( locationPattern ) ; String subPattern = locationPattern . substring ( rootDirPath . length ( ) ) ; Resource [ ] rootDirResources = getResources ( rootDirPath ) ; Set < Resource > result = new LinkedHashSet < Resource > ( 16 ) ; for ( Resource rootDirResource : rootDirResources ) { rootDirResource = resolveRootDirResource ( rootDirResource ) ; if ( rootDirResource . getURL ( ) . getProtocol ( ) . startsWith ( ResourceUtils . URL_PROTOCOL_VFS ) ) { result . addAll ( VfsResourceMatchingDelegate . findMatchingResources ( rootDirResource , subPattern , getPathMatcher ( ) ) ) ; } else if ( isJarResource ( rootDirResource ) ) { result . addAll ( doFindPathMatchingJarResources ( rootDirResource , subPattern ) ) ; } else { result . addAll ( doFindPathMatchingFileResources ( rootDirResource , subPattern ) ) ; } } if ( logger . isDebugEnabled ( ) ) { logger . debug ( "Resolved location pattern [" + locationPattern + "] to resources " + result ) ; } return result . toArray ( new Resource [ result . size ( ) ] ) ; }
Find all resources that match the given location pattern via the
Ant-style PathMatcher. Supports resources in jar files and zip files
and in the file system.
@param locationPattern the location pattern to match
@return the result as Resource array
@throws IOException in case of I/O errors
@see #doFindPathMatchingJarResources
@see #doFindPathMatchingFileResources