|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.core.io.support.PathMatchingResourcePatternResolver
org.eclipse.gemini.blueprint.io.OsgiBundleResourcePatternResolver
public class OsgiBundleResourcePatternResolver
OSGi-aware ResourcePatternResolver
.
Can find resources in the bundle jar and bundle space. See OsgiBundleResource
for more
information.
PathMatchingResourcePatternResolver
, class-path pattern matching needs to resolve the
class-path structure to a file-system location (be it an actual folder or a jar). Inside the OSGi environment this is
problematic as the bundles can be loaded in memory directly from input streams. To avoid relying on each platform
bundle storage structure, this implementation tries to determine the bundles that assemble the given bundle
class-path and analyze each of them individually. This involves the bundle archive (including special handling of the
Bundle-Classpath
as it is computed at runtime), the bundle required packages and its attached fragments.
Depending on the configuration of running environment, this might cause significant IO activity which can affect
performance.
Note: Currently, static imports as well as Bundle-Classpath
and
Required-Bundle
entries are supported. Support for DynamicPackage-Import
depends on
how/when the underlying platform does the wiring between the dynamically imported bundle and the given bundle.
Portability Note: Since it relies only on the OSGi API, this implementation depends heavily on how
closely the platform implements the OSGi spec. While significant tests have been made to ensure compatibility, one
might experience different behaviour especially when dealing with jars with missing folder entries or
boot-path delegation. It is strongly recommended that wildcard resolution be thoroughly tested before switching to a
different platform before you rely on it.
Bundle
,
OsgiBundleResource
,
PathMatchingResourcePatternResolver
Field Summary |
---|
Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver |
---|
CLASSPATH_ALL_URL_PREFIX |
Fields inherited from interface org.springframework.core.io.ResourceLoader |
---|
CLASSPATH_URL_PREFIX |
Constructor Summary | |
---|---|
OsgiBundleResourcePatternResolver(org.osgi.framework.Bundle bundle)
|
|
OsgiBundleResourcePatternResolver(org.springframework.core.io.ResourceLoader resourceLoader)
|
Method Summary | |
---|---|
protected org.springframework.core.io.Resource[] |
findResources(String locationPattern)
Finds existing resources. |
org.springframework.core.io.Resource[] |
getResources(String locationPattern)
|
protected boolean |
isJarResource(org.springframework.core.io.Resource resource)
Overrides the default check up since computing the URL can be fairly expensive operation as there is no caching (due to the framework dynamic nature). |
Methods inherited from class org.springframework.core.io.support.PathMatchingResourcePatternResolver |
---|
convertClassLoaderURL, determineRootDir, doFindMatchingFileSystemResources, doFindPathMatchingFileResources, doFindPathMatchingJarResources, doRetrieveMatchingFiles, findAllClassPathResources, findPathMatchingResources, getClassLoader, getJarFile, getPathMatcher, getResource, getResourceLoader, resolveRootDirResource, retrieveMatchingFiles, setPathMatcher |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public OsgiBundleResourcePatternResolver(org.osgi.framework.Bundle bundle)
public OsgiBundleResourcePatternResolver(org.springframework.core.io.ResourceLoader resourceLoader)
Method Detail |
---|
protected org.springframework.core.io.Resource[] findResources(String locationPattern) throws IOException
locationPattern
- location pattern
IOException
- in case of I/O errorspublic org.springframework.core.io.Resource[] getResources(String locationPattern) throws IOException
getResources
in interface org.springframework.core.io.support.ResourcePatternResolver
getResources
in class org.springframework.core.io.support.PathMatchingResourcePatternResolver
IOException
protected boolean isJarResource(org.springframework.core.io.Resource resource) throws IOException
isJarResource
in class org.springframework.core.io.support.PathMatchingResourcePatternResolver
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |